Привет, у меня есть такой скрипт поиска и такой вопрос: Как можно соорудить из этого ссылку на поиск определенного слова, например мне нужен поиск слова photo - я нажимаю на ссылку, отправляется запрос к бд и результатом выводятся статьи содержащие это слово. Впринципе тот же поиск только по ссылке и ограничен единственным вероятным запросом. Заранее спасибо, серьёзно! PHP: if(isset($_POST['submit'])){ if(isset($_GET['go'])){ if(preg_match("/^[ a-zA-Z]+/", $_POST['name'])){ $name=$_POST['name']; //connect to the database $db=mysql_connect ("host", "lol", "pp") or die ('I cannot connect to the database because: ' . mysql_error()); //-select the database to use $mydb=mysql_select_db("lol"); //-query the database table $sql="SELECT ID, title, description FROM blog WHERE title LIKE '%" . $name . "%' OR description LIKE '%" . $name ."%'"; //-run the query against the mysql query function $result=mysql_query($sql); //-create while loop and loop through result set while($row=mysql_fetch_array($result)){ $title =$row['title']; $description=$row['description']; $ID=$row['ID']; //-display the result of the array echo "<ul>\n"; echo "<li>" . "<a href='./?blog=$ID'>" .$title . " " . $description . "</a></li>\n"; echo "</ul>"; } } else{ echo "<p>Please enter a search </p>"; } } }
Поиск обычно по ссылкам и делается (как результат редиректа после POST). Сами придумайте способ кодирования/декодирования поискового запроса в адресе. Для англ. слова вполне логично сделать /search/photo или /search?q=photo.
@mkramer, много причин. Отфильтровывать лишнее в ключевой строке на предварительном этапе, в частности не запускать поиск при вводе ключей-пустышек, использовать свой способ кодирования ключей и т.п. в адресе, в частности использовать «более красивый» формат адреса (первый вариант из моего пред. поста), и т.д. --- Добавлено --- P.S. Конечно многое из перечисленного можно сделать и на клиенте. Но я сделал упор на классику.
PHP: $_POST['name'] = "%';DELETE FROM USERS;select id from blog where title like '%"; $name = $_POST['name']; $sql="SELECT ID, title, description FROM blog WHERE title LIKE '%" . $name . "%' OR description LIKE '%" . $name ."%'";