Здравствуйте! У меня у вам вопрос! У меня есть таблица с полями: fam (фамилия) name (имя) otch (отчество) Как мне организовать поиск по словам, которые я ввожу в текстовое поле (чтобы введённое поле соответствовало записи в таблице и тогда именно оно выводилось на экран) Вот код: Форма поиска: PHP: <form action="formp.php" method="post"> Введите сотрудника:<br><input type="text" name="searchterm" size="60" value=""><br> <input type="submit" name="submit" value="Искать"> <input type="reset" name="reset" value="Очистить"> </form> Рабочая форма: PHP: <?php $link = mysql_connect("***", "Ya***", "***") or die("Could not connect"); print "Connected successfully"; mysql_select_db("***") or die("Could not select database"); $searchterm= $_POST['$searchterm']; $query = "SELECT * FROM name WHERE fam LIKE '$searchterm%'"; $result = mysql_query($query) or die("Query failed"); /* Печать результатов в HTML */ print "<table>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "\t<tr>\n"; foreach ($line as $col_value) { print "\t\t<td>$col_value</td>\n"; } print "\t</tr>\n"; } print "</table>\n"; /* Освобождение resultset */ mysql_free_result($result); /* Закрытие соединения */ mysql_close($link); ?> Почему то выводит ВСЕ значения из таблицы! Как сделать, чтобы выводил только то, что нам нужно!?
У вас написано: $searchterm= $_POST['$searchterm']; а по идее должно быть: $searchterm= $_POST['searchterm'];
Ага, я сделал! Вот такой код в итоге: Форма поиска: PHP: <form action="formp.php" method="post"> Введите сотрудника:<br><input type="text" name="searchterm" size="60" value=""><br> <input type="submit" name="submit" value="Искать"> <input type="reset" name="reset" value="Очистить"> </form> Форма рабочая: PHP: <?php $link = mysql_connect("***", "Ya***", "***") or die("Could not connect"); print "Connected successfully"; mysql_select_db("***") or die("Could not select database"); { $query = "SELECT * FROM name WHERE UPPER(fam) LIKE '%".strtoupper($_POST['searchterm'])."%'"; $result = mysql_query($query) or die("Query failed"); /* Печать результатов в HTML */ print "<table>\n"; while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) { print "\t<tr>\n"; foreach ($line as $col_value) { print "\t\t<td>$col_value</td>\n"; } print "\t</tr>\n"; } print "</table>\n"; } /* Освобождение resultset */ mysql_free_result($result); /* Закрытие соединения */ mysql_close($link); ?> ?> И тогда вопрос уже к ВАМ, на который я точно себе не смогу дать ответ: Это поиск по одной таблице! А как сделать, чтобы искал по ВСЕМ таблицам, находящимся в моей БД ?
yfnf3 Это поиск по одной таблице! А как сделать, чтобы искал по ВСЕМ таблицам, находящимся в моей БД ? по-очереди поискай в каждой =)