Вниз  PHP
- 14.07.2013 / 21:30
HaLk
  Пользователь

HaLk 
Сейчас: Offline
web_demon, не пойму как настроить. Что только не писал всё равно запрос не перенаправляется :-(
- 30.07.2013 / 23:21
HaLk
  Пользователь

HaLk 
Сейчас: Offline
  1. <?php
  2. $q = mysql_query("SELECT * FROM `ruk1` WHERE `id`='$id' LIMIT 10");
  3.         if(mysql_num_rows($q))  {
  4.         while($ruk1 = mysql_fetch_assoc($q))    {
  5.           //как отсюда убрать запрос в базу?
  6.           $ruk2 = mysql_fetch_assoc(mysql_query("SELECT * FROM `ruk2` WHERE `id`='$id' AND `tip`='".$ruk1['tip']."'"));
  7.           $summ_1 = $ruk2['a'] + $ruk2['b'] + $ruk2['c'] + $ruk2['d'];
  8.           $summ_2 = $ruk1['a'] + $ruk1['b'] + $ruk1['c'] + $ruk1['d'];
  9.           $summ = $summ_2 - $summ_1;
  10.           if ($summ > '0') {
  11.               $text_summ = $summ; } else { $text_summ = null; }
  12.           //выводим
  13.             echo $ruk1['id'].'/'.(isset($text_summ) ? $text_summ : '').'<br/>';
  14.             }
  15.         } else {
  16.             echo 'Error'; }
  17.  
  18.  
  19. ?>

Вопрос: как убрать запрос в бд с цикла? Гугл увы не помог :-( Заранее спасибо.

Изменено HaLk (30.07 / 23:23) (всего 1 раз)
- 30.07.2013 / 23:36
vl@volk
  Пользователь

vl@volk 
Сейчас: Offline
написать перед while
__________________
 знает толк
- 30.07.2013 / 23:40
web_demon
  Супервизор

web_demon 
Сейчас: Offline
HaLk, пробуй так
  1. SELECT `ruk1`.*, `ruk2`.* FROM `ruk1` LEFT JOIN `ruk2` ON `ruk1`.`tip` = `ruk2`.`tip` WHERE `ruk1`.`id` = '$id' LIMIT 10;

- 30.07.2013 / 23:44
web_demon
  Супервизор

web_demon 
Сейчас: Offline
Только вот плохо что у тебя поля в таблице одинаковые, будет одно перезаписывать другое.
- 30.07.2013 / 23:44
HaLk
  Пользователь

HaLk 
Сейчас: Offline
vl@volk, перед while нельзя, второй запрос получает данные с первого.
- 30.07.2013 / 23:45
HaLk
  Пользователь

HaLk 
Сейчас: Offline
web_demon, это я для примера написал, так у меня структура другая.
- 30.07.2013 / 23:51
web_demon
  Супервизор

web_demon 
Сейчас: Offline
HaLk, ну тогда делай как там.
Для самого примера будет правильно вот так
  1. SELECT `ruk1`.*, `ruk2`.`a` AS `a2`, `ruk2`.`b` AS `b2`, `ruk2`.`c` AS `c2`, `ruk2`.`d` AS `d2` FROM `ruk1` LEFT JOIN `ruk2` ON `ruk1`.`tip` = `ruk2`.`tip` WHERE `ruk1`.`id` = '$id' LIMIT 10;
А в цикле вместо этого:
  1. $summ_1 = $ruk2['a'] + $ruk2['b'] + $ruk2['c'] + $ruk2['d'];
Делать так
  1. $summ_1 = $ruk1['a2'] + $ruk1['b2'] + $ruk1['c2'] + $ruk1['d2'];

- 30.07.2013 / 23:54
HaLk
  Пользователь

HaLk 
Сейчас: Offline
web_demon, что то при первой же проверке в if-е, выдаёт Error. Т.е записи не найдены.
- 30.07.2013 / 23:55
HaLk
  Пользователь

HaLk 
Сейчас: Offline
сейчас второй вариант попробую
Наверх  Всего сообщений: 1350
Фильтровать сообщения
Поиск по теме
Файлы топика (36)