|
Расширенный поиск по параметрам PHP/MySQL
|
|||
---|---|---|---|
#18+
Приведенный ниже пример делает поиск в БД user по полям user_name и user_text , в случае совпадения любой из позиций двух полей ответ выводится в результате поиска. Нужно изменить форму запроса так, чтобы пользователь просто выбирал предложенные ему варианты запроса для поиска. Пример, расширенного поиска внизу страницы: http://]www.realmodels.ru/site/model53.htmlПодскажите, как можно изменить это код <?PHP if ( !defined('LDU_CODE') OR !defined('LDU_PLUG') ) { die("Hacking attempt."); } $plugin_title = $L['plu_title']; if ($a == "search") { //fix for register_globals = off $sq = cv('sq','G','TXT'); $si_users = cv('si_users','G','TXT'); if (strlen($sq)<$si_min_string) { $plugin_body .= $L['querytooshort']."<br><br>"; } else { //search in users if ($si_users == "checked"){ $sql = ldu_mysql_query("SELECT * FROM $db_users WHERE (user_name LIKE '%$sq%' OR user_text LIKE '%$sq%') ORDER by user_name DESC LIMIT $si_max_hits"); $totallines = mysql_num_rows($sql); $plugin_body .= $L['found']." ".$totallines." ".$L['usersmatching']."<br> <br>"; while ($row = mysql_fetch_array($sql)) { $plugin_body .= "<img src='system/img/admin/users.gif' align='absmiddle' border='0'> » <b><a href=\"users.php?m=details&id=".$row["user_id"]."\">".ldu_cutstring(stripslashes($row["user_name"]),30)."</a></b> » <a href=\"pfs.php?m=view&v=".$row["pfs_file"]."\" target=\"_new\"> ".ldu_cutstring(stripslashes($row["pfs_desc"]),50)."</b></a> <br>"; } $plugin_body .= " <br>"; } }//end else } else { //when calling just the plugin, set the checkbox default status (as set in config file) if ($si_check_default == "1" && $m != "post"){ $si_news = "checked"; $si_users = "checked"; } //POST to GET - Converter if ($a == "post"){ $sq = cv('sq','P','TXT'); $si_users = cv('si_users','P','TXT'); $si_sections = ""; if ($si_users_active == "1"){ if ($m == "all"){$si_sections .= "&si_users=checked";} else{if ($si_users != ""){$si_sections .= "&si_users=".$si_users;}} } header("Location: plug.php?p=simplesearch&a=search&sq=$sq$si_sections"); } } //default $plugin_body .= "<table border='0' cellspacing='2' cellpadding='2'>\n"; $plugin_body .= "<FORM name='search' action='plug.php?p=simplesearch&a=post' method='post'><tr><td align='right'>\n"; $plugin_body .= $L['plu_searchinfor']."</td><td><INPUT TYPE='text' NAME='sq' VALUE='$sq' SIZE=16 MAXLENGTH=32>\n"; $plugin_body .= "</td></tr><tr><td valign='top' align='right'>".$L['plu_searchinin']."</td><td>\n"; if ($si_users_active == "1") {$plugin_body .= "<INPUT TYPE='checkbox' NAME='si_users' VALUE='checked' ".$si_users."> ".$L['users']."<br>\n";} $plugin_body .= "</td></tr><tr><td> </td><td><INPUT TYPE='submit' VALUE=' ".$L['plu_search']." '></td></tr></FORM></table>\n"; ?> ... |
|||
:
Нравится:
Не нравится:
|
|||
06.05.2004, 23:11 |
|
Расширенный поиск по параметрам PHP/MySQL
|
|||
---|---|---|---|
#18+
Давайте уточним, вам надо алгоритм подсказать или программу переписать? Со вторым, думаю, не сюда. Если же все-таки вас интересует алгоритм, то уточните, что подразумевается под понятием "форма запроса"? - HTML-форма или SQL-запрос. ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 11:25 |
|
Расширенный поиск по параметрам PHP/MySQL
|
|||
---|---|---|---|
#18+
Интересует SQL-запрос. С HTML-формой все понятно. В форме запроса будут использоваться такие конструкции: <select name="citid" class="tForm" > <option value="0">Город <option value="6">- - - - - <option value="26">Благовещенск </select> ... |
|||
:
Нравится:
Не нравится:
|
|||
07.05.2004, 16:53 |
|
|
start [/forum/topic.php?fid=23&fpage=511&tid=1479760]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
50ms |
get tp. blocked users: |
1ms |
others: | 273ms |
total: | 385ms |
0 / 0 |