ЛеваXFactor
28.03.2018 - 15:24
Здравствуйте!
подскажите пожалуйста как организовать расширенный поиск (PHP+MySQL)
Я не понимаю как это все вместе реализовать ( по разным параметрам)
Если можно, набросайте код (структуру) - не получается сделать. с одного поля - получилось( в нете много примеров), а вот многокритериальнй - как то не совсем
Поиск по дипломным работам:
Первое поле - автор, название
Вторые и последующие поля (кафедра, факультет, год защиты и код специальности)
Спасибо
Эли4ка
28.03.2018 - 16:20
Цитата |
расширенный поиск (PHP+MySQL) |
Что значит расширенный поиск?
Тебе полнотекстовой поиск нужен что ли?
ЛеваXFactor
28.03.2018 - 16:41
Нет, т.е поиск не по одному полю, а по нескольким (включая элементы radiobutton) и другие textbox
Игорь_Vasinsky
28.03.2018 - 18:25
а в чём проблема?
в HTML? в PHP? в SQL ?
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
walerus
28.03.2018 - 21:02
Игорь_VasinskyСудя по вопросам - проблема в предмете. Если бы он хотя бы пхпадмин открыл, то вопросы отпали бы сами по себе...
walerus
28.03.2018 - 21:04
ЛеваXFactor
Цитата |
Если можно, набросайте код (структуру) - не получается сделать. с одного поля - получилось( в нете много примеров), а вот многокритериальнй - как то не совсем |
Если можно, набросай сюда свой код который у тебя получилось сделать, структуру таблиц так же набросай, а там посмотрим чем тебе помочь можно.
Эли4ка
29.03.2018 - 15:15
Цитата |
Нет, т.е поиск не по одному полю, а по нескольким (включая элементы radiobutton) и другие textbox |
Ну а при чем тут тогда SQL и PHP?
ЛеваXFactor
31.03.2018 - 11:51
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%'";
}
Я сделал так, но у меня получается, что поиск только по каждому в отдельном случае ведется, а как сделать общий поиск по двум 3-м полям или по всем даже
Спасибо
walerus
31.03.2018 - 14:18
ЛеваXFactorЧто это за набор символов?
$condition_of_Query - где начало формирования строки запроса?
Как выглядит итоговый запрос?, то что тут написано, работать вообще не должно, т.к. строка запроса формируется немного иначе, например:
ТЗ
Нужно найти результат по автору, по теме или по двум параметрам сразу.
$query_string = array();
$autor = 'Vasili';
$title = 'NOS';
if ( $autor != '' ){ $query_string[] = "`autor` = '" . $autor . "'"; }
if ( $title != '' ){ $query_string[] = "`title` = '" . $title . "'"; }
if ( !empty($query_string) ){
$result_query = 'SELECT * FROM `table` WHERE ' . implode(' AND ', $query_string );
}else{
$result_query = 'Запрос не сформирован, проверьте данные';
}
echo "$result_query";
Результат:
1) Если ничего не указано: Запрос не сформирован, проверьте данные
2) Если указан только автор: SELECT * FROM `table` WHERE `autor` = 'Vasili'
3) Если указана только тема: SELECT * FROM `table` WHERE `title` = 'NOS'
4) Если указан и автор и тема: SELECT * FROM `table` WHERE `autor` = 'Vasili' AND `title` = 'NOS'