За последние 24 часа нас посетили 17387 программистов и 1681 робот. Сейчас ищут 927 программистов ...

не работает сложный запрос в файле, а в PMA отображает

Тема в разделе "PHP для новичков", создана пользователем kapone, 26 мар 2016.

  1. kapone

    kapone Новичок

    С нами с:
    24 мар 2016
    Сообщения:
    7
    Симпатии:
    0
    вот собственно сам запрос:
    Код (PHP):
    1. 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
    если ввожу этот запрос в PMA SQL, то там отображаются строки которые нужны. в нём говорится: вытащить foto и id из таблицы tovar, и id_tovar, id_user из zakaz. всё это должно выводится в цикле, но в файле .php ничего не отображает. вот весь код:
    Код (PHP):
    1. <?php
    2. $t1 = mysql_query("SELECT 
    3.                     tovar.foto, 
    4.                     tovar.id, 
    5.                     zakaz.id_tovar, 
    6.                     zakaz.id_user 
    7.                               FROM 
    8.                     tovar, 
    9.                     zakaz 
    10.                   WHERE 
    11.                     tovar.id = zakaz.id_tovar 
    12.                     and 
    13.                     zakaz.id_user = '$id_user
    14.                   order by zakaz.id DESC");
    15.  
    16. $t2 = mysql_fetch_array($t1);
    17.  
    18. $st = $t2['kolvo'] * $t2['cena'];
    19.  
    20. do{
    21. printf("<td><img src='%s'></td>
    22.           <td>%s</td>
    23.           <td>%s</td>
    24.           <td>%s</td>
    25.           ", $t2['foto'],$t2['kolvo'],$t2['cena'],$st);
    26. }while($t2 = mysql_fetch_array($t1));
    27. ?>
    28.  
    29. </tr>
    30. </table>
    31.  
    32. [url="form.php"]Оформить[/url]
    Подскажите как быть. Заранее спасибо!

    Подсказка от модератора:
    Любой код или текст конфигурации пишите между тегом [code=php] и [/code].
    Используйте отступы в коде для форматирования текста.
    Это помогает быстрее понять вас, увеличивает шанс на получение ответа.
    Что выделять? Например: PHP, HTML, CSS, JavaScript, SQL, XML, .htaccess, ini, регулярные выражения, код шаблонизаторов, любая другая разметка, результаты array/object dump и т. д.
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Функция mysql_fetch_array() не предназначена для выполнения запроса. Она предназначена для разбора ресурса результата выполнения запроса.
    Для выполнения запроса можно использовать mysql_query().
    Функции mysql_ удалены из новых версий PHP. Вместо них можно использовать mysqli_.
     
  3. kapone

    kapone Новичок

    С нами с:
    24 мар 2016
    Сообщения:
    7
    Симпатии:
    0
    подскажите как быть.
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    [vs],а причём тут mysql_fetch_array()??? o_O
    у него второй строкой идет $t1 = mysql_query("SELECT ...... Наверняка дело в другом ((:)
     
  5. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    в ду-вайле
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Ganzal, да я чуть позже заметил ((:)
     
  7. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Попов снова вернулся в мир живых, чтобы извращать неокрепшие умы? ужс ккй.

    а где ты взял этот код? Что за учебник используешь?
     
  8. zahermaher

    zahermaher Новичок

    С нами с:
    27 сен 2014
    Сообщения:
    169
    Симпатии:
    14
    ну и наворотил с do while ))

    и еще у тебя mysql_fetch_array ,а он без дополнительных параметров отдает массив с числовыми индексами.
    http://www.php.su/functions/?mysql-fetch-array

    То есть ты пишешь : "$t2['foto'] $t2['kolvo'] $t2['cena']" , а ему нужно $t2[0] $t2[1] ...

    Если хочешь писать также: "$t2['foto'] $t2['kolvo'] $t2['cena']" , то вместо mysql_fetch_array используй mysql_fetch_assoc

    и переходи на mysqli_
     
  9. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    а разве без параметров он не должен отдавать оба типа?