Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Не могу создать топ МВП убийц

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Неверный запрос
vixa
Отправлено: 22 Марта, 2012 - 21:31:14
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011  
Откуда: Украина


Помог: 0 раз(а)




всем привет я юзайю CodeIgniter
и мне на нем не понятно как из двух sql таблиц создать полноценный запрос, чтобы получить полноценный топ 100 мвп убийц

1 таблица: `mvplog`
Спойлер (Отобразить)


2 таблица : `char`
Спойлер (Отобразить)


я пишу запрос

PHP:
скопировать код в буфер обмена
  1. $res = $this->db->query("select kill_char_id from mvplog");
  2. foreach($res->result_array() as $values)
  3. {
  4.     $query = $this->db->query("select count(`mvp_id`) as `countmvp`,sum(`mvpexp`) as `sumexp`,`char`.`name` from `mvplog` join `char` on `mvplog`.`kill_char_id` = `char`.`name` where `kill_char_id` = '$values[kill_char_id]'");
  5. return $query->result_array();
  6. }
  7.  


а потом передал эту функцию в контроллер

PHP:
скопировать код в буфер обмена
  1. case "mvp":
  2.             $main['content'] = $this->ci_model->topmvp();
  3.             $this->display_lib->user_page('mvp',$main);
  4.             break;


и вызвал в вид
Спойлер (Отобразить)


в итоге мне вывелся результат по одному чару

Как сделать чтобы результат вернул полный массив а не данные по одному персонажу??


Отредактировано модератором: LIME, 23 Марта, 2012 - 14:58:23


-----
Vixa
 
 Top
DlTA
Отправлено: 23 Марта, 2012 - 00:01:47
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




http://cidocs[dot]ru/210/database/active_record[dot]html
пример получения данных:
PHP:
скопировать код в буфер обмена
  1. $query = $this->db->get('mytable');
  2. foreach ($query->result() as $row)
  3. {
  4.     echo $row->title;
  5. }


ошибка тут
vixa пишет:
$res = $this->db->query("select kill_char_id from mvplog");
foreach($res->result_array() as $values)
{
    $query = $this->db->query("select count(`mvp_id`) as `countmvp`,sum(`mvpexp`) as `sumexp`,`char`.`name` from `mvplog` join `char` on `mvplog`.`kill_char_id` = `char`.`name` where `kill_char_id` = '$values[kill_char_id]'");
return $query->result_array();
}
возвращается первый попавшийся результат
 
 Top
vixa
Отправлено: 23 Марта, 2012 - 09:52:11
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011  
Откуда: Украина


Помог: 0 раз(а)




Я попробую, просто как я понимаю надо было бы вывести сразу все чар айди в массив, после установить сравнение where kill_char_id = массив
(Добавление)
я понимаю что ошибка в запросе не могли бы вы еще помоч написать правильный запрос??? а то я уже 2 дня мучаюсь не чего не могу найти


-----
Vixa
 
 Top
DlTA
Отправлено: 23 Марта, 2012 - 11:42:11
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010  


Помог: 53 раз(а)




я говорю не про ошибку в запросе (ее там может и нет)
я говорю про ошибку в способе возврата значений

должно быть примерно так
PHP:
скопировать код в буфер обмена
  1. $res = $this->db->query("select kill_char_id from mvplog");
  2. $retVal = array();
  3. foreach($res->result_array() as $values)
  4. {
  5.     $query = $this->db->query("select count(`mvp_id`) as `countmvp`,sum(`mvpexp`) as `sumexp`,`char`.`name` from `mvplog` join `char` on `mvplog`.`kill_char_id` = `char`.`name` where `kill_char_id` = '$values[kill_char_id]'");
  6. $retVal[] = $query->result_array();
  7. }
  8. return $retVal;

(Добавление)
п.с. а че это вообще за такое страшное "топ МВП убийц"?
 
 Top
vixa
Отправлено: 23 Марта, 2012 - 11:57:22
Post Id



Новичок


Покинул форум
Сообщений всего: 55
Дата рег-ции: Авг. 2011  
Откуда: Украина


Помог: 0 раз(а)




Ооо я увидел ошибку походу
Смотрите я проверил вывод всех номеров аккаунтов
PHP:
скопировать код в буфер обмена
  1. function topmvp()
  2.     {
  3.         $char = $this->db->query("select `kill_char_id` from `mvplog` where `kill_char_id` in (select `char_id` from `char`)");
  4.         $row = $char->result_array();
  5.         foreach($row as $items)
  6.         {
  7.             echo $items['kill_char_id'];
  8.             $query = $this->db->query("select count(`mvp_id`) as `countmvp`, sum(`mvpexp`) as `sumexp`,`kill_char_id`,`char`.`name` from `mvplog` join `char` on `kill_char_id` = `char_id` where `kill_char_id` = '$items[kill_char_id]'");
  9.            
  10.         }
  11.        
  12.     }


Если я после запроса $query не ставлю $query->result_array(); то в пункте echo $items['kill_char_id'] выводиться полный список аккаунтов но если я напишу

PHP:
скопировать код в буфер обмена
  1. function topmvp()
  2.     {
  3.         $char = $this->db->query("select `kill_char_id` from `mvplog` where `kill_char_id` in (select `char_id` from `char`)");
  4.         $row = $char->result_array();
  5.         foreach($row as $items)
  6.         {
  7.             echo $items['kill_char_id'];
  8.             $query = $this->db->query("select count(`mvp_id`) as `countmvp`, sum(`mvpexp`) as `sumexp`,`kill_char_id`,`char`.`name` from `mvplog` join `char` on `kill_char_id` = `char_id` where `kill_char_id` = '$items[kill_char_id]'");
  9.             return $query->result_array();
  10.         }
  11.        
  12.     }


тоесть в конце добавил return $query->result_array();
то в строке echo $items['kill_char_id']; выведится не весь массив с аккаунтами а только 1 результат

Похоже на то что функция return блокирует массив $items['kill_char_id'] и выводит только 1 резулятьтат
Как быть помогите?
(Добавление)
на ваш запрос оно ругается чтото A PHP Error was encountered

PHP:
скопировать код в буфер обмена
  1. Severity: Notice
  2.  
  3. Message: Undefined index: name
  4.  
  5. Filename: views/mvp.php
  6.  
  7. Line Number: 22
  8.  
  9. A PHP Error was encountered
  10.  
  11. Severity: Notice
  12.  
  13. Message: Undefined index: countmvp
  14.  
  15. Filename: views/mvp.php
  16.  
  17. Line Number: 23
  18.  
  19. A PHP Error was encountered
  20.  
  21. Severity: Notice
  22.  
  23. Message: Undefined index: sumexp
  24.  
  25. Filename: views/mvp.php


Line Number: 24
(Добавление)
Но также если я ставлю return $row[] = $query->result_array();
за цыклом форич то мне выводиться 17 результатов с ошибками

PHP:
скопировать код в буфер обмена
  1.         Char Name       Kill MVP        MVP EXP
  2. 1      
  3. A PHP Error was encountered
  4.  
  5. Severity: Notice
  6.  
  7. Message: Undefined index: name
  8.  
  9. Filename: views/mvp.php
  10.  
  11. Line Number: 22
  12.  
  13. A PHP Error was encountered
  14.  
  15. Severity: Notice
  16.  
  17. Message: Undefined index: countmvp
  18.  
  19. Filename: views/mvp.php
  20.  
  21. Line Number: 23
  22.  
  23. A PHP Error was encountered
  24.  
  25. Severity: Notice
  26.  
  27. Message: Undefined index: sumexp
  28.  
  29. Filename: views/mvp.php
  30.  
  31. Line Number: 24
  32.  
  33. 2      
  34. A PHP Error was encountered
  35.  
  36. Severity: Notice
  37.  
  38. Message: Undefined index: name
  39.  
  40. Filename: views/mvp.php
  41.  
  42. Line Number: 22
  43.  
  44. A PHP Error was encountered
  45.  
  46. Severity: Notice
  47.  
  48. Message: Undefined index: countmvp
  49.  
  50. Filename: views/mvp.php
  51.  
  52. Line Number: 23
  53.  
  54. A PHP Error was encountered
  55.  
  56. Severity: Notice
  57.  
  58. Message: Undefined index: sumexp
  59.  
  60. Filename: views/mvp.php
  61.  
  62. Line Number: 24
  63.  
  64. 3      
  65. A PHP Error was encountered
  66.  
  67. Severity: Notice
  68.  
  69. Message: Undefined index: name
  70.  
  71. Filename: views/mvp.php
  72.  
  73. Line Number: 22
  74.  
  75. A PHP Error was encountered
  76.  
  77. Severity: Notice
  78.  
  79. Message: Undefined index: countmvp
  80.  
  81. Filename: views/mvp.php
  82.  
  83. Line Number: 23
  84.  
  85. A PHP Error was encountered
  86.  
  87. Severity: Notice
  88.  
  89. Message: Undefined index: sumexp
  90.  
  91. Filename: views/mvp.php
  92.  
  93. Line Number: 24
  94.  
  95. 4      
  96. A PHP Error was encountered
  97.  
  98. Severity: Notice
  99.  
  100. Message: Undefined index: name
  101.  
  102. Filename: views/mvp.php
  103.  
  104. Line Number: 22
  105.  
  106. A PHP Error was encountered
  107.  
  108. Severity: Notice
  109.  
  110. Message: Undefined index: countmvp
  111.  
  112. Filename: views/mvp.php
  113.  
  114. Line Number: 23
  115.  
  116. A PHP Error was encountered
  117.  
  118. Severity: Notice
  119.  
  120. Message: Undefined index: sumexp
  121.  
  122. Filename: views/mvp.php
  123.  
  124. Line Number: 24
  125.  
  126. 5      
  127. A PHP Error was encountered
  128.  
  129. Severity: Notice
  130.  
  131. Message: Undefined index: name
  132.  
  133. Filename: views/mvp.php
  134.  
  135. Line Number: 22
  136.  
  137. A PHP Error was encountered
  138.  
  139. Severity: Notice
  140.  
  141. Message: Undefined index: countmvp
  142.  
  143. Filename: views/mvp.php
  144.  
  145. Line Number: 23
  146.  
  147. A PHP Error was encountered
  148.  
  149. Severity: Notice
  150.  
  151. Message: Undefined index: sumexp
  152.  
  153. Filename: views/mvp.php
  154.  
  155. Line Number: 24
  156.  
  157. 6      
  158. A PHP Error was encountered
  159.  
  160. Severity: Notice
  161.  
  162. Message: Undefined index: name
  163.  
  164. Filename: views/mvp.php
  165.  
  166. Line Number: 22
  167.  
  168. A PHP Error was encountered
  169.  
  170. Severity: Notice
  171.  
  172. Message: Undefined index: countmvp
  173.  
  174. Filename: views/mvp.php
  175.  
  176. Line Number: 23
  177.  
  178. A PHP Error was encountered
  179.  
  180. Severity: Notice
  181.  
  182. Message: Undefined index: sumexp
  183.  
  184. Filename: views/mvp.php
  185.  
  186. Line Number: 24
  187.  
  188. 7      
  189. A PHP Error was encountered
  190.  
  191. Severity: Notice
  192.  
  193. Message: Undefined index: name
  194.  
  195. Filename: views/mvp.php
  196.  
  197. Line Number: 22
  198.  
  199. A PHP Error was encountered
  200.  
  201. Severity: Notice
  202.  
  203. Message: Undefined index: countmvp
  204.  
  205. Filename: views/mvp.php
  206.  
  207. Line Number: 23
  208.  
  209. A PHP Error was encountered
  210.  
  211. Severity: Notice
  212.  
  213. Message: Undefined index: sumexp
  214.  
  215. Filename: views/mvp.php
  216.  
  217. Line Number: 24
  218.  
  219. 8      
  220. A PHP Error was encountered
  221.  
  222. Severity: Notice
  223.  
  224. Message: Undefined index: name
  225.  
  226. Filename: views/mvp.php
  227.  
  228. Line Number: 22
  229.  
  230. A PHP Error was encountered
  231.  
  232. Severity: Notice
  233.  
  234. Message: Undefined index: countmvp
  235.  
  236. Filename: views/mvp.php
  237.  
  238. Line Number: 23
  239.  
  240. A PHP Error was encountered
  241.  
  242. Severity: Notice
  243.  
  244. Message: Undefined index: sumexp
  245.  
  246. Filename: views/mvp.php
  247.  
  248. Line Number: 24
  249.  
  250. 9      
  251. A PHP Error was encountered
  252.  
  253. Severity: Notice
  254.  
  255. Message: Undefined index: name
  256.  
  257. Filename: views/mvp.php
  258.  
  259. Line Number: 22
  260.  
  261. A PHP Error was encountered
  262.  
  263. Severity: Notice
  264.  
  265. Message: Undefined index: countmvp
  266.  
  267. Filename: views/mvp.php
  268.  
  269. Line Number: 23
  270.  
  271. A PHP Error was encountered
  272.  
  273. Severity: Notice
  274.  
  275. Message: Undefined index: sumexp
  276.  
  277. Filename: views/mvp.php
  278.  
  279. Line Number: 24
  280.  
  281. 10     
  282. A PHP Error was encountered
  283.  
  284. Severity: Notice
  285.  
  286. Message: Undefined index: name
  287.  
  288. Filename: views/mvp.php
  289.  
  290. Line Number: 22
  291.  
  292. A PHP Error was encountered
  293.  
  294. Severity: Notice
  295.  
  296. Message: Undefined index: countmvp
  297.  
  298. Filename: views/mvp.php
  299.  
  300. Line Number: 23
  301.  
  302. A PHP Error was encountered
  303.  
  304. Severity: Notice
  305.  
  306. Message: Undefined index: sumexp
  307.  
  308. Filename: views/mvp.php
  309.  
  310. Line Number: 24
  311.  
  312. 11     
  313. A PHP Error was encountered
  314.  
  315. Severity: Notice
  316.  
  317. Message: Undefined index: name
  318.  
  319. Filename: views/mvp.php
  320.  
  321. Line Number: 22
  322.  
  323. A PHP Error was encountered
  324.  
  325. Severity: Notice
  326.  
  327. Message: Undefined index: countmvp
  328.  
  329. Filename: views/mvp.php
  330.  
  331. Line Number: 23
  332.  
  333. A PHP Error was encountered
  334.  
  335. Severity: Notice
  336.  
  337. Message: Undefined index: sumexp
  338.  
  339. Filename: views/mvp.php
  340.  
  341. Line Number: 24
  342.  
  343. 12     
  344. A PHP Error was encountered
  345.  
  346. Severity: Notice
  347.  
  348. Message: Undefined index: name
  349.  
  350. Filename: views/mvp.php
  351.  
  352. Line Number: 22
  353.  
  354. A PHP Error was encountered
  355.  
  356. Severity: Notice
  357.  
  358. Message: Undefined index: countmvp
  359.  
  360. Filename: views/mvp.php
  361.  
  362. Line Number: 23
  363.  
  364. A PHP Error was encountered
  365.  
  366. Severity: Notice
  367.  
  368. Message: Undefined index: sumexp
  369.  
  370. Filename: views/mvp.php
  371.  
  372. Line Number: 24
  373.  
  374. 13     
  375. A PHP Error was encountered
  376.  
  377. Severity: Notice
  378.  
  379. Message: Undefined index: name
  380.  
  381. Filename: views/mvp.php
  382.  
  383. Line Number: 22
  384.  
  385. A PHP Error was encountered
  386.  
  387. Severity: Notice
  388.  
  389. Message: Undefined index: countmvp
  390.  
  391. Filename: views/mvp.php
  392.  
  393. Line Number: 23
  394.  
  395. A PHP Error was encountered
  396.  
  397. Severity: Notice
  398.  
  399. Message: Undefined index: sumexp
  400.  
  401. Filename: views/mvp.php
  402.  
  403. Line Number: 24
  404.  
  405. 14     
  406. A PHP Error was encountered
  407.  
  408. Severity: Notice
  409.  
  410. Message: Undefined index: name
  411.  
  412. Filename: views/mvp.php
  413.  
  414. Line Number: 22
  415.  
  416. A PHP Error was encountered
  417.  
  418. Severity: Notice
  419.  
  420. Message: Undefined index: countmvp
  421.  
  422. Filename: views/mvp.php
  423.  
  424. Line Number: 23
  425.  
  426. A PHP Error was encountered
  427.  
  428. Severity: Notice
  429.  
  430. Message: Undefined index: sumexp
  431.  
  432. Filename: views/mvp.php
  433.  
  434. Line Number: 24
  435.  
  436. 15     
  437. A PHP Error was encountered
  438.  
  439. Severity: Notice
  440.  
  441. Message: Undefined index: name
  442.  
  443. Filename: views/mvp.php
  444.  
  445. Line Number: 22
  446.  
  447. A PHP Error was encountered
  448.  
  449. Severity: Notice
  450.  
  451. Message: Undefined index: countmvp
  452.  
  453. Filename: views/mvp.php
  454.  
  455. Line Number: 23
  456.  
  457. A PHP Error was encountered
  458.  
  459. Severity: Notice
  460.  
  461. Message: Undefined index: sumexp
  462.  
  463. Filename: views/mvp.php
  464.  
  465. Line Number: 24
  466.  
  467. 16     
  468. A PHP Error was encountered
  469.  
  470. Severity: Notice
  471.  
  472. Message: Undefined index: name
  473.  
  474. Filename: views/mvp.php
  475.  
  476. Line Number: 22
  477.  
  478. A PHP Error was encountered
  479.  
  480. Severity: Notice
  481.  
  482. Message: Undefined index: countmvp
  483.  
  484. Filename: views/mvp.php
  485.  
  486. Line Number: 23
  487.  
  488. A PHP Error was encountered
  489.  
  490. Severity: Notice
  491.  
  492. Message: Undefined index: sumexp
  493.  
  494. Filename: views/mvp.php
  495.  
  496. Line Number: 24
  497.  
  498. 17     
  499. A PHP Error was encountered
  500.  
  501. Severity: Notice
  502.  
  503. Message: Undefined index: name
  504.  
  505. Filename: views/mvp.php
  506.  
  507. Line Number: 22
  508.  
  509. A PHP Error was encountered
  510.  
  511. Severity: Notice
  512.  
  513. Message: Undefined index: countmvp
  514.  
  515. Filename: views/mvp.php
  516.  
  517. Line Number: 23
  518.  
  519. A PHP Error was encountered
  520.  
  521. Severity: Notice
  522.  
  523. Message: Undefined index: sumexp
  524.  
  525. Filename: views/mvp.php
  526.  
  527. Line Number: 24

(Отредактировано автором: 23 Марта, 2012 - 12:24:40)



-----
Vixa
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Работа с СУБД »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB