К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

проблема со сложным SQL-запросом

Гость
0 - 26.03.2016 - 03:55
вообщем такой запрос:
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 юзера. если записи есть, то они будут выводится в цикле в таблице. проблема заключается в том, что ничего не выводится. Вот собственно весь код; таблица, запрос и цикл.

Код:
<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>



Гость
1 - 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"

попробуйте так
Гость
2 - 27.03.2016 - 10:58
Когда у меня возникают проблемы подобного плана - с помощью echo вывожу сформированный скриптом запрос и в пхпмайадмин его. Нагляднее.
Гость
3 - 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"

Удачи в разработке!
Гость
4 - 28.03.2016 - 23:44
sqlinjection =) Адрес страницы давай ща все тебе раскопаем!


К списку вопросов






Copyright ©, Все права защищены