За последние 24 часа нас посетили 21814 программистов и 1019 роботов. Сейчас ищет 651 программист ...

Сортировка таблицы данных из БД запросом

Тема в разделе "PHP для новичков", создана пользователем IGARRRRR, 21 июл 2019.

  1. IGARRRRR

    IGARRRRR Новичок

    С нами с:
    6 июл 2019
    Сообщения:
    21
    Симпатии:
    0
    Случай следующий:

    Есть запрос на вывод данных:
    "SELECT * FROM Toys Q, Country E)
    WHERE Q.ID_Country = E.ID_Country"
    Условие поиска по названию, типу и стране
    if ($s1[1]==1) {$str1="AND NAMETOY='$NAMETOY'";$str=$str.$str1;};
    if ($s1[2]==2) {$str2="AND TYPETOY='$TYPETOY'";$str=$str.$str2;};
    if ($s1[3]==3) {$str3="AND COUNTRY='$COUNTRY'";$str=$str.$str3;};

    сам поиск

    <input type="checkbox" name="s1[1]" value="1">
    <input class="inputik" autocomplete="off" type="text" name="NAMETOY" placeholder="Название игрушки" value=""/>

    <input type="checkbox" name="s1[2]" value="2">
    <input class="inputik" autocomplete="off" type="text" name="TYPETOY" placeholder="Тип игрушки" value=""/>

    <input type="checkbox" name="s1[3]" value="3">
    <input class="inputik" autocomplete="off" type="text" name="COUNTRY" placeholder="Страна производитель" value=""/>


    Если я поставлю в запрос ORDER BY:
    "SELECT * FROM Toys Q, Country E)
    WHERE Q.ID_Country = E.ID_Country ORDER BY NAMETOY"

    То условие поиска уже не работает, так как там "AND", а после ORDER BY - AND не прокатит. Кто может что посоветовать???
     
  2. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    PHP:
    1. $where= "";
    2.  
    3. if ($s1[1]==1) {
    4.     $where .="AND NAMETOY='$NAMETOY'";
    5. };
    6. if ($s1[2]==2) {
    7.     $where .="AND TYPETOY='$TYPETOY'";
    8. };
    9. if ($s1[3]==3) {
    10.     $where .="AND COUNTRY='$COUNTRY'";
    11. };
    12.  
    13. $str = "SELECT * FROM Toys Q, Country E)
    14. WHERE Q.ID_Country = E.ID_Country".$where
    15. ."ORDER BY NAMETOY ASC";
     
    IGARRRRR нравится это.
  3. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.748
    Симпатии:
    1.321
    Адрес:
    Лень
  4. Artur_hopf

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

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @MouseZver Просто показал ему как можно добавить ORDER BY =)
     
  5. IGARRRRR

    IGARRRRR Новичок

    С нами с:
    6 июл 2019
    Сообщения:
    21
    Симпатии:
    0
    Спасибо огромное сделал наподобие Вашего примера! Всё пошло!!! Просто огромное спасибо!