За последние 24 часа нас посетили 22905 программистов и 1712 роботов. Сейчас ищут 1767 программистов ...

Расширенный поиск для сайта на PHP/ не получилось

Тема в разделе "PHP и базы данных", создана пользователем ЛеваXfaktor, 28 мар 2018.

  1. ЛеваXfaktor

    ЛеваXfaktor Новичок

    С нами с:
    28 мар 2018
    Сообщения:
    3
    Симпатии:
    0
    Здравствуйте!
    подскажите пожалуйста как организовать расширенный поиск (PHP+MySQL)
    Я не понимаю как это все вместе реализовать ( по разным параметрам)
    Скриншот формы в приложении
    Если можно, набросайте код (структуру) - не получается сделать. с одного поля - получилось( в нете много примеров), а вот многокритериальнй - как то не совсем
    Поиск по дипломным работам:
    Первое поле - автор, название
    Вторые и последующие поля (кафедра, факультет, год защиты и код специальности)
    Спасибо
     

    Вложения:

    • 11.png
      11.png
      Размер файла:
      16,9 КБ
      Просмотров:
      10
  2. nospiou

    nospiou Старожил

    С нами с:
    4 фев 2018
    Сообщения:
    3.400
    Симпатии:
    510
    Отправляешь пост параметры через форму и обрабатываешь их на сервере через $_POST
     
  3. ЛеваXfaktor

    ЛеваXfaktor Новичок

    С нами с:
    28 мар 2018
    Сообщения:
    3
    Симпатии:
    0
    это все понятно, как их обрабатывать не пойму, не хватает практических навыков
     
  4. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Тебе нужно написать запрос в БД в зависимости от полученых данных. WHERE `author` = 'Андрей' AND `facultet` == '' ну и тд.
     
  5. laszlopv

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

    С нами с:
    26 фев 2017
    Сообщения:
    244
    Симпатии:
    40
    Эсли поле не пустое, значит добавить в запрос LIKE или, что там нужно. так по всем полям. В итоге в конце обращаешься к базе с запросом.
     
  6. ЛеваXfaktor

    ЛеваXfaktor Новичок

    С нами с:
    28 мар 2018
    Сообщения:
    3
    Симпатии:
    0
    if($vvAuthor!=''){
    $condition_of_Query .= "Author LIKE '%$vvAuthor%'";
    } else
    if($vvTitle!=''){
    $condition_of_Query .= "Title LIKE '%$vvTitle%'";
    }else
    if($vvFac!=''){
    $condition_of_Query .= "Fac LIKE '%$vvFac%'";
    }else
    if($vvKaf!=''){
    $condition_of_Query .= "Kaf LIKE '%$vvKaf%'";
    }else
    if($vvUGSN!=''){
    $condition_of_Query .= "UGSN LIKE '%$vvUGSN%'";
    }
    else
    if($vvYear!=''){
    $condition_of_Query .= "Year LIKE '%$vvYear%'";
    }

    Скажите, в данном случае у меня обрабатывается каждый параметр отдельно - как сделать, чтобы было вместе. Поиск может осуществляться по любому полю в принципе
     
  7. laszlopv

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

    С нами с:
    26 фев 2017
    Сообщения:
    244
    Симпатии:
    40
    Формируйте запрос с использованием OR например: (Author LIKE '%$vvAuthor%') OR (Year LIKE '%$vvYear%')