Всем доброе время суток. Я пытаюсь сделать поиск по сайту. У меня есть база данных, которая состоит из таких полей: mar model year Honda Civic 2004 Есть форма поиска: HTML: <form action="view_search.php" method="post" name="form_s"> <p class="search_t">Пошуковій запит повинен бути не менше 4-х символів</p> <p><input name="search" type="text" size="25" maxlength="40" /> <input name="search_mod" type="text" size="25" maxlength="40" /> <br><br> <input class="search_b" name="submit_s" type="submit" value="Шукати" /> </p> </form> И есть собственно обработчик который обрабатывает запрос и выводит информацию: PHP: $db = mysql_connect("localhost","kurs","2345656"); mysql_select_db("kurs",$db); if(isset($_POST['submit_s'])){$submit_s = $_POST['submit_s'];} if(isset($_POST['search'])){$search = $_POST['search'];} if(isset($_POST['search_mod'])){$search = $_POST['search_mod'];} if(isset($submit_s)) { if(strlen($search) < 4 or strlen($search_mod) < 4 ) { exit("<p>Поисковый запрос не введет либо слишком мал.</p>"); } $search = trim ($search); $search_mod = trim ($search_mod); $search = stripslashes ($search); $search_mod = trim ($search_mod); $search = htmlspecialchars ($search); $search_mod = trim ($search_mod); } else { exit("<p>Вы обратились к даному файлу без необходимых параметров</p>"); } ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" /> <title>Untitled Document</title> </head> <body> <?php $result = mysql_query("SELECT * FROM avto WHERE `mar` LIKE '%$search%' AND `model` LIKE '%$search_mod%' ;",$db); if (!$result) { echo "<p>Запрос на выборку данных из базы не прошел. Напишите об этом администратору [email=admin@ruseller.com]admin@ruseller.com[/email]. <br> <strong>Код ошибки:</strong></p>"; exit(mysql_error()); } if (mysql_num_rows($result) > 0) { $myrow = mysql_fetch_array($result); do { printf ("%s",$myrow["year"]); } while ($myrow = mysql_fetch_array($result)); } else { echo "<p>Информация по запросу не может быть извлечена в таблице нет записей.</p>"; exit(); } </body> </html> Я думаю что Вы уже заметили что там надо заполнить два поля. Проблема в том что когда заполнил эти два поля то информация не выводится, а пишет Информация по запросу не может быть извлечена в таблице нет записей. хотя запись есть. А если удалить второе поле и оставить только первое то все работает. Люди на данном форум не раз мне помогали и я надеюсь что помогут снова. Заранее спасибо.
не верю, что тебе не советовали выкинуть курсы попова на помойку а по теме - попробуй вывести свой запрос прежде чем отправлять в базу, и вручную через ПМА или даже через консоль выполнить данный запрос. увидишь результат, поймёшь причину
Я новичок и не совсем понимаю о чем Вы говорите, в частности что такое ПМА. Если можно то объясните пожалуйста поподробнее что где менять.
PhpMyAdmin <?php $result = mysql_query("SELECT * FROM avto WHERE `mar` LIKE '%$search%' AND `model` LIKE '%$search_mod%' ;",$db); меняем на <?php $sql = "SELECT * FROM avto WHERE `mar` LIKE '%$search%' AND `model` LIKE '%$search_mod%' ;"; $result = mysql_query($sql, $db); потом дописываем <?php $sql = "SELECT * FROM avto WHERE `mar` LIKE '%$search%' AND `model` LIKE '%$search_mod%' ;"; echo $sql; die(); $result = mysql_query($sql, $db); копируем с экрана запрос и выполняем ручками