За последние 24 часа нас посетили 15723 программиста и 1652 робота. Сейчас ищут 870 программистов ...

Вывод товаров, соответствующих определенному значению

Тема в разделе "PHP и базы данных", создана пользователем Luchfan12, 8 дек 2015.

  1. Luchfan12

    Luchfan12 Новичок

    С нами с:
    19 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    Здравствуйте
    Работаю с MySQL
    В ней есть информация о товарах, а именно название товара, его цена, год выпуска, название фирмы и так далее
    У меня на странице отображается таблица товаров, сверху неё решил добавил поле select, где содержатся даты выпуска товаров соответственно базе данных phpMyAdmin.
    Хочу чтобы при нажатии на кнопку "Отобразить", выводились только те товары, которые соответствуют году выпуска
    из поля select.
    Код (PHP):
    1. <?php 
    2. error_reporting(E_ALL ^ E_DEPRECATED);
    3. $user = 'root';
    4. $password = '';
    5. $db = 'test';
    6. mysql_connect("localhost",$user, $password) or die("Could not connect: ".mysql_error());
    7. mysql_select_db($db) or die("Could not select database:".mysql_error());
    8. ?>
    9. <?php
    10. function printData($data)
    11. {    
    12. echo "<tr>";    
    13. echo "<td>";
    14. echo "<img src='{$data['picture']}' width='200'/>";
    15. echo "</td>";
    16. echo "<td>";
    17. echo $data['title'];
    18. echo "</td>";
    19. echo "<td>";
    20. echo $data['price'];
    21. echo "</td>";
    22. echo "</tr>";    
    23. }
    24. ?>
    25. <table width="100%">
    26. <tr>
    27. <td><img src="logo.jpg" alt="Логотип"/> </td>
    28. <td><b style="font-size:50px;">Shop</b></td>
    29. </tr>
    30. <tr>
    31. <td>[url="index.html"] На главную [/url]</td>
    32. <td>[url="contact.html"] Контакты [/url]</td>
    33. </tr>
    34. </table>
    35. <div align="center">
    36. <?php
    37. $result_1 = mysql_query("SELECT * FROM goods");
    38. if ($result_1 == true) {
    39. echo "<select>";
    40. while ($grad = mysql_fetch_array($result_1)) {
    41. echo "<option>".$grad['grad_year']."</option>";    
    42. }    
    43. echo "</select>";
    44. }
    45. ?>
    46. <?php
    47. echo "<input type = 'button' value = 'Отобразить' name = ".$grad['grad_year']."/>";
    48. echo "</br>";
    49. ?>
    50. <table border="1">
    51. <?php
    52. $result = mysql_query('SELECT picture, title, price FROM goods where grad_year = "$grad_year"');
    53. while ($row = mysql_fetch_array($result))
    54.     printData($row);
    55. ?>
    56. </table>
    57. </div>
    Пока мои попытки не увечались успехом, в чём может быть загвоздка?
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    $grad_year - что в эту переменную попадает и откуда? я не вижу.

    SELECT DISTINCT `grad_year` FROM `goods` ORDER BY `grad_year` DESC
     
  3. Luchfan12

    Luchfan12 Новичок

    С нами с:
    19 ноя 2015
    Сообщения:
    10
    Симпатии:
    0
    То есть вы предлагаете её инициализировать?
    Я тоже так думаю, только будет ли правильнее прописать в $grad_year количество годов выпусков товаров, если да то как?
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Нет, я о другом. Во-первых вторая часть моего сообщения это не предложение, а необходимость. А во-виорых, у вас переменная пустая и ничего не находится именно поэтому. Так-то.