使用PHP显示结果时,在搜索框中显示搜索条件
我有一个搜索表单,并将结果显示在与搜索表单相同的页面上。因此,在进行搜索之前,所有可能的结果都是可见的。在表单中输入关键字后,结果仅为包含关键字的结果。我希望表单在显示结果时显示在表单中输入的关键字。我尝试过多种方法,最近的尝试是进入身体的各个部分,但运气不佳。我已经搜索了多个教程网站,并没有发现这个特殊的要求得到解决。你们中有人能帮我在显示结果时将搜索条件保留在搜索框中吗?以下是我正在使用的代码:使用PHP显示结果时,在搜索框中显示搜索条件,php,mysql,forms,search,Php,Mysql,Forms,Search,我有一个搜索表单,并将结果显示在与搜索表单相同的页面上。因此,在进行搜索之前,所有可能的结果都是可见的。在表单中输入关键字后,结果仅为包含关键字的结果。我希望表单在显示结果时显示在表单中输入的关键字。我尝试过多种方法,最近的尝试是进入身体的各个部分,但运气不佳。我已经搜索了多个教程网站,并没有发现这个特殊的要求得到解决。你们中有人能帮我在显示结果时将搜索条件保留在搜索框中吗?以下是我正在使用的代码: <html> <body> <?php e
<html>
<body>
<?php error_reporting (E_ALL ^ E_NOTICE); ?>
<?php
function getRecords($query) {
$con = mysql_connect("localhost", "movie", "moviepw");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("movies", $con);
$result = mysql_query($query);
return $result;
}
function buildQuery() {
$keyword = $_GET['keyword'];
$sql = "SELECT * from table1 WHERE (movie_title LIKE '%$keyword%'
OR movie_description LIKE '%$keyword%')";
return $sql;
} ?>
<form action="movie_form.php" method=get>
<fieldset>
<legend>Movies</legend>
<label for="keyword">Search</label>
<input id="keyword" name="keyword" />
<input type=submit name=submit value=Search />
<? echo $keyword ?>
</fieldset>
</form>
<?
$query = buildQuery();
$records = getRecords($query);
while($row = mysql_fetch_array($records)){ ?>
<table>
<tbody>
<table border='1'>
<tr>
<td><?= $row['movie_title']; ?></td>
<td><?= $row['movie_rating']; ?></td>
<td><img src="<?= $row['movie_image'];?>"></td>
<td><?= $row['movie_description']; ?></td>
<td><a href="movie_form.php">Return to Search</a></td>
</tr>
<? } ?>
</tbody>
</table>
</body>
</html>
将“值”属性添加到“关键字”表单输入中。大概是这样的:
<input id="keyword" name="keyword" value="<?php echo "$keyword"; ?>"/>
谢谢你,埃里克。我在那里添加了它,但我仍然无法获得搜索条件以继续显示在搜索框中。我看到了问题$关键字正在buildQuery方法中设置,因此在输出表单时该关键字不可用。我修改了我的答案以反映这一点。而且,我把线收紧了。试试这些修订;这对我来说很有效。在经历了更多的混乱并试图弄明白这一切之后,它起了作用!!!非常感谢你!在这个过程中,我学到了很多,我感谢你的耐心。:-)
<?php error_reporting (E_ALL ^ E_NOTICE);
$keyword = rtrim($_GET['keyword']);
?>