За последние 24 часа нас посетил 38041 программист и 1812 роботов. Сейчас ищут 827 программистов ...

правильный запрос

Тема в разделе "PHP и базы данных", создана пользователем EDark, 11 июл 2012.

  1. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    SELECT id FROM table WHERE headline='test'

    выводит только один id хотя их там 2
    как сделать чтобы выводил все id у которых headline='test'

    спасибо
     
  2. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Надо в цикле выводить.
    Код (PHP):
    1. while ($row = mysql_fetch_assoc($result)) {
    2.     echo $row['id'];
    3. } 
     
  3. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    null показывает
     
  4. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
  5. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    у меня походу уже запрос обработан
    $q = $this->Database->prepare("SELECT id FROM table WHERE headline='test'")
    ->execute();

    как в таком случае написать?
     
  6. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Откуда мы тут знаем, что там у вас внутри вашей Contao CMS находится :) Это надо в службу поддержки самой CMS писать, а не сюда :)
     
  7. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    да причем тут это, сделал через mysql_query все равно null
     
  8. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    А как сделал, покажешь? :)
     
  9. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    извиняюсь, с mysql_query работает... как же заставить через contao работать)) в работоспособности contao я не сомневаюсь я сомневаюсь в своих знаниях php mysql ))

    я так понимаю mysql_fetch_assoc() для уже ассоцитиативного массива не катит
    просто ($row = $result) не работает
     
  10. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Код (PHP):
    1. echo "<pre>";
    2. print_r($result);
    3. echo "</pre>"; 
    И там уже смотреть, что эта CMS своими запросами возвращает, и как то, что она навозвращала можно использовать.
     
  11. EDark

    EDark Активный пользователь

    С нами с:
    2 апр 2012
    Сообщения:
    40
    Симпатии:
    0
    $result->id вот так выводит только первый id

    Добавлено спустя 31 минуту 39 секунд:
    разобрался)
    спасибо!

    в contao свои фишки да

    while($result->next())
    {
    echo $result->id;
    }
     
  12. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    все мы не без недостатков :(
     
  13. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    var_dump() наш лучший друг. лучше чем print_r
     
  14. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Мне print_r больше нравится. У него массивы красивее получаются :)
     
  15. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Пофик что там тебе больше нравится. =)
    ничо что print_r не даёт информации о переменной
    Код (PHP):
    1. echo 'print_r():<br>';
    2. print_r(false);
    3. print_r(null);
    4. print_r('');
    5. print_r('ё');
    6. echo '<br><br>var_dump():<br>';
    7. var_dump(false);
    8. var_dump(null);
    9. var_dump('ё');
    10.  
    обрати внимание на точность и информативность. и сравни с выводом print_r(). Если ты после этого продолжишь использовать print_r для дебага, то я даж хз как это охарактеризовать...
     
  16. Dmitriy A. Arteshuk

    Dmitriy A. Arteshuk Активный пользователь

    С нами с:
    19 янв 2012
    Сообщения:
    2.445
    Симпатии:
    66
    Адрес:
    Зеленоград
    этта, простите что вмешиваюсь? скуяли Ё - length=2
    ????
    просто интересно...
     
  17. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    эх... =) точечки виноваты! :D

    е тоже два байта. ;) как же так?!
     
  18. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Я считаю, что динамическая типизация - недостаток PHP. Поэтому всегда знаю, че у меня там в переменной, потому что если это критично - использую приведение типов.
     
  19. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    какой же ты фрик =)
    динамическая типизация в пхп это великое благо, ускоряющее разработку неимоверно.

    ну ты бог! не все такие крутые. хотя может ты еще не делал ничего сложного настолько, чтобы не знать, что у тебя там в переменной :D
     
  20. html-программист

    html-программист Активный пользователь

    С нами с:
    10 фев 2012
    Сообщения:
    831
    Симпатии:
    4
    Адрес:
    Kiev
    Если программист не может контролировать содержимое своих переменных - то что можно сказать о таком программисте? о_О
    И да, я таки бог.
     
  21. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    я не понимаю, что значит "контролировать содержимое переменных". Ты несешь какую-то околесицу. =)

    Вардамп используется как раз когда что-то пошло не так и надо посмотреть в переменную. Если у тебя всегда всё идёт как надо, значит ты ничерта толкового не делаешь =)
     
  22. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Я тоже часто использую print_r - когда мне не требуется выяснять типы переменных, элементов массивов и т.п. По моему опыту - таких случаев большинство. Именно из-за того, что print_r не выводит информацию о типах - его удобнее просматривать, когда нужно посмотреть структуру массива (особенно многомерного).
     
  23. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    а если массив забит фалсами? =) нуллами? и пустыми массивами? пустыми строками?

    я эта... я ж не настаиваю. Просто через вардамп ты видишь реальность. а через print_r() ты получаешь только ту часть инфы, которую хочешь увидеть =) Плохо это или хорошо - зависит от ситуации.

    Я предпочитаю использовать var_dump(). Всегда. Тем более, что у меня он раскрашен =) и корректно выводится в html.
     
  24. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Ну, я же говорю - "когда не требуется выяснять типы переменных". Просто у меня как-то так получается, что для меня в большинстве случаев вывод информации о типе - лишняя информация, которая только загружает вывод и немножко усложняет восприятие. Либо мне просто нет разницы, какие там значения, а нужны только ключи (структура), либо, например, типы значений в массиве - очевидны и не вызывают сомнений (например, print_r($_FILES)).
    var_dump() - в основном, когда нужно просмотреть некую переменную, значение которой берётся из расчётов каких-нибудь, результата работы функций и т.п.