14.07.2013 / 21:30 | |
HaLk Пользователь Сейчас: Offline
Имя: Вячеслав Регистрация: 02.05.2013
| web_demon, не пойму как настроить. Что только не писал всё равно запрос не перенаправляется |
30.07.2013 / 23:21 | |
HaLk Пользователь Сейчас: Offline
Имя: Вячеслав Регистрация: 02.05.2013
| <?php
$q = mysql_query("SELECT * FROM `ruk1` WHERE `id`='$id' LIMIT 10");
if(mysql_num_rows($q)) {
while($ruk1 = mysql_fetch_assoc($q)) {
//как отсюда убрать запрос в базу?
$ruk2 = mysql_fetch_assoc(mysql_query("SELECT * FROM `ruk2` WHERE `id`='$id' AND `tip`='".$ruk1['tip']."'"));
$summ_1 = $ruk2['a'] + $ruk2['b'] + $ruk2['c'] + $ruk2['d'];
$summ_2 = $ruk1['a'] + $ruk1['b'] + $ruk1['c'] + $ruk1['d'];
$summ = $summ_2 - $summ_1;
if ($summ > '0') {
$text_summ = $summ; } else { $text_summ = null; }
//выводим
echo $ruk1['id'].'/'.(isset($text_summ) ? $text_summ : '').'<br/>';
}
} else {
echo 'Error'; }
?>
Вопрос: как убрать запрос в бд с цикла? Гугл увы не помог Заранее спасибо. Изменено HaLk (30.07 / 23:23) (всего 1 раз) |
30.07.2013 / 23:36 | |
vl@volk Пользователь Сейчас: Offline
Имя: Владислав Откуда: Земля Регистрация: 26.12.2012
| написать перед while
__________________
знает толк |
30.07.2013 / 23:40 | |
web_demon Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| HaLk, пробуй так 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 Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| Только вот плохо что у тебя поля в таблице одинаковые, будет одно перезаписывать другое.
|
30.07.2013 / 23:44 | |
HaLk Пользователь Сейчас: Offline
Имя: Вячеслав Регистрация: 02.05.2013
| vl@volk, перед while нельзя, второй запрос получает данные с первого.
|
30.07.2013 / 23:45 | |
HaLk Пользователь Сейчас: Offline
Имя: Вячеслав Регистрация: 02.05.2013
| web_demon, это я для примера написал, так у меня структура другая.
|
30.07.2013 / 23:51 | |
web_demon Супервизор Сейчас: Offline
Регистрация: 11.01.2010
| HaLk, ну тогда делай как там. Для самого примера будет правильно вот так 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;
А в цикле вместо этого: $summ_1 = $ruk2['a'] + $ruk2['b'] + $ruk2['c'] + $ruk2['d'];
Делать так $summ_1 = $ruk1['a2'] + $ruk1['b2'] + $ruk1['c2'] + $ruk1['d2'];
|
30.07.2013 / 23:54 | |
HaLk Пользователь Сейчас: Offline
Имя: Вячеслав Регистрация: 02.05.2013
| web_demon, что то при первой же проверке в if-е, выдаёт Error. Т.е записи не найдены.
|
30.07.2013 / 23:55 | |
HaLk Пользователь Сейчас: Offline
Имя: Вячеслав Регистрация: 02.05.2013
| сейчас второй вариант попробую
|