За последние 24 часа нас посетили 63013 программистов и 1744 робота. Сейчас ищут 887 программистов ...

Запрос не видит данные из формы

Тема в разделе "PHP для новичков", создана пользователем Искандар, 19 апр 2017.

  1. Искандар

    Искандар Активный пользователь

    С нами с:
    18 фев 2017
    Сообщения:
    78
    Симпатии:
    6
    Всем доброе утро!
    Есть такой код:
    HTML:
    1. <?php
    2. include "bd_connect.php";
    3. $names = $_POST['names'];
    4. $result1 = mysql_query('SELECT Names FROM table WHERE GROUP BY Names');
    5. $result2 = mysql_query("SELECT Names, SUM(Kolvo) FROM table WHERE Names = '.$names.' GROUP BY Names");
    6. ?>
    7. <meta charset="UTF-8">
    8. </head>
    9. <form method="POST"><br>
    10. <select name="names">
    11. <?php while ($row1=mysql_fetch_array($result1)):?>
    12. <option><?php echo $row1[0];?></option>
    13. <?php endwhile;?>
    14. <input type="submit" name="submit1" value="Ок"/>
    15. <tr>
    16. <th>Имя</th>
    17. <th>Количество</th>
    18. </tr>
    19. <?php while ($row=mysql_fetch_array($result2)):?>
    20. <tr>
    21. <td><?php echo $row[0];?>
    22. <td><?php echo $row[1];?>
    23. </tr>
    24. <?php endwhile;?>
    25. </form>
    26. </body>
    27. </html>
    Когда запрос без "WHERE" всё работает, а когда добавил "WHERE" в таблице нечего не показывает.
    Посмотрите пожалуйста где я ошибся?
    Спасибо!
     
  2. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    WHERE GROUP BY Names
    это что вообще значит то?
    --- Добавлено ---
    = '.$names.'
    а это?
     
  3. Искандар

    Искандар Активный пользователь

    С нами с:
    18 фев 2017
    Сообщения:
    78
    Симпатии:
    6
    Names - это столбец которые хранится разные имена.
    '.$names.' - это имя человека который выбран в данный момент в селекте.
    В таблице должно показать человека который выбран в селекте.
     
  4. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    Ох. Я ж не просто так спросил. Я с намёком спросил.
    WHERE GROUP BY Names - что по-твоему должна делать такая запись?
    кароче она неправильная. Не бывает такой записи
    = '.$names.' а здесь у тебя будет в базу идти не значение переменной $names, а строка ".$names."
    Теперь то на какие-нибудь мысли навёл?
     
  5. Искандар

    Искандар Активный пользователь

    С нами с:
    18 фев 2017
    Сообщения:
    78
    Симпатии:
    6
    Теперь понял)
    3 варианта сделал, всё равно не работает(
    1 WHERE Names = '.$names.' GROUP BY Names
    2 WHERE Names = '{$names}' GROUP BY Names
    3 WHERE Names = '"$names"' GROUP BY Names
     
  6. acho

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

    С нами с:
    28 дек 2016
    Сообщения:
    854
    Симпатии:
    210
    Адрес:
    Санкт-Петербург
    блин, ну и ни один из них =D
    возьми вариант 3 и посмотри, что у тебя не так с конкатенацией)
     
    Искандар нравится это.
  7. Искандар

    Искандар Активный пользователь

    С нами с:
    18 фев 2017
    Сообщения:
    78
    Симпатии:
    6
    Всё разобрался наконец то, оказывается есть 4-й вариант)
    4
    Код (Text):
    1. WHERE Names = "'.$names.'" GROUP BY Names
    Спасибо за советы!
     
    TeslaFeo нравится это.