Форум на Kuban.ru (http://forums.kuban.ru/)
-   Веб-дизайн и программирование (http://forums.kuban.ru/f1030/)
-   -   проблема со сложным SQL-запросом (http://forums.kuban.ru/f1030/problema_so_slozhnym_sql-zaprosom-7622183.html)

mavrodi 26.03.2016 03:55

проблема со сложным SQL-запросом
 
вообщем такой запрос:
SELECT tovar.foto, tovar.id, zakaz.id_tovar, zakaz.id_user FROM tovar, zakaz WHERE tovar.id = zakaz.id_tovar and zakaz.id_user = '$id_user' order by zakaz.id DESC

в двух словах: извлечь из одной таблицы фото товара, и его id, с другой id товара и id юзера. если записи есть, то они будут выводится в цикле в таблице. проблема заключается в том, что ничего не выводится. Вот собственно весь код; таблица, запрос и цикл.

[CODE]
<table width="544" border="1">
<tr>
<td width="92"><div align="center">Товар</div></td>
<td width="115"><div align="center">Количество</div></td>
<td width="93"><div align="center">Цена</div></td>
<td width="93"><div align="center">Стоимость</div></td>
<td width="117"><div align="center">Действия</div></td>
</tr>
<tr>

<?php
$t1 = mysql_query("SELECT tovar.foto, tovar.id, zakaz.id_tovar, zakaz.id_user FROM tovar, zakaz WHERE tovar.id = zakaz.id_tovar and zakaz.id_user = '$id_user' order by zakaz.id DESC"); //тот самый сложный запрос

$t2 = mysql_fetch_array($t1);


$st = $t2['kolvo'] * $t2['cena']; //колво * цена = стоимость

do{
printf("
<td><img src='%s' width='100px'></td>
<td>%s</td>
<td>%s</td>
<td>%s</td>
<td></td>",
$t2['tovar.foto'],$t2['zakaz.kolvo'],$t2['tovar.cena'],$st);
**
while($t2 = mysql_fetch_array($t1));
?>

</tr>
</table>

<a href="form.php">Оформить</a>
[/CODE]

_petrovich_ 26.03.2016 23:03

"SELECT
tovar.foto,
tovar.id,
zakaz.id_tovar,
zakaz.id_user
FROM
tovar,
zakaz
WHERE
tovar.id = zakaz.id_tovar
and
zakaz.id_user =" . $id_user .
"order by zakaz.id DESC"

попробуйте так

SergeyRus 27.03.2016 10:58

Когда у меня возникают проблемы подобного плана - с помощью echo вывожу сформированный скриптом запрос и в пхпмайадмин его. Нагляднее.

SanekSp 27.03.2016 11:25

Первая ошибка - в SQL нет полей zakaz.kolvo, tovar.cena и соответственно $t2['zakaz.kolvo'],$t2['tovar.cena'] будут пусты.

Второе - Если для Заказа существует несколько записей то это надо делать не "tovar.id = zakaz.id_tovar AND zakaz.id_user = '$id_user'".
А примерно так:

"SELECT
tovar.*,
zakaz.kolvo
FROM zakaz
LEFT JOIN tovar ON tovar.id = zakaz.id_tovar
WHERE zakaz.id_user = '$id_user' order by zakaz.id DESC"

Удачи в разработке!

40KHYTbIU 28.03.2016 23:44

sqlinjection =) Адрес страницы давай ща все тебе раскопаем!


Текущее время: 10:26. Часовой пояс GMT +3.