php - 我的网站搜索查询不起作用
问题描述
在我的网站上,我有一个文件articles.php,上面有一个搜索字段。当我输入信息时,它会将我重定向到正确的search.php,在URL中我可以看到它正在输出我的结果,但它没有在search.php正文上显示我的结果。
在我搜索“你能在 Windows 签证上玩游戏”后,本地主机 URL 正在输出
http://localhost/qaa/search.php?search=Can+you+game+on+widows+vista&submit-search=
这个页面什么都没有,只是一个空框search.php
联系
<?php
$server = "localhost";
$username = "root";
$password = "";
$db = "Qaa";
$conn = mysqli_connect($server, $username, $password, $db);
?>
articles.php "我的搜索栏在哪里"
<?php
include 'connect.php';
?>
<h1>Front Page</h1>
<h2>All articles:</h2>
<link rel="stylesheet" type="text/css" href="css/article.css">
<div class="article-container">
<form action="search.php">
<input type="text" name="search" placeholder="Search">
<button type="submit" name="submit-search">Get answers</button>
</form>
<?php
$sql = "SELECT * FROM article";
$result = mysqli_query($conn, $sql);
$queryResults = mysqli_num_rows($result);
if ($queryResults > 0){
while ($row = mysqli_fetch_assoc($result)){
echo "<div class='article-box'>
<h3>".$row['a_title']."</h3>
<p>".$row['a_text']."</p>
<hp>".$row['a_date']."</p>
<p>".$row['a_author']."</p>
</div>";
}
}
?>
Search.php "点击'获取答案按钮'后搜索信息应该出现在哪里"
<?php
include 'connect.php';
?>
<link rel="stylesheet" type="text/css" href="css/article.css">
<h1>Search Page</h1>
<div class="article-container">
<?php
if (isset($_POST['submit-search'])){
$search = mysqli_real_escape_string($conn, $_POST['search']);
$sql = "SELECT * FROM article WHERE a_title LIKE '%$search%' OR a_text
LIKE '%$search%' OR a_author LIKE '%$search%' OR a_date LIKE '%$search%'";
$result = mysqli_query($conn, $sql);
$queryResult = mysqli_num_rows($result);
echo "There are ".$queryResult." results!";
if($queryResult > 0){
while ($row = mysqli_fetch_assoc($result)){
echo "<div class='article-box'>
<h3>".$row['a_title']."</h3>
<p>".$row['a_text']."</p>
<hp>".$row['a_date']."</p>
<p>".$row['a_author']."</p>
</div>";
}
}else{
echo "There are no results matching your search! Contact our support so
we can add this or if you have a result, add it, as a result, using the
GIVE ANSWER button!";
}
}
?>
</div>
解决方案
您正在使用$_POST['search']
哪个是错误的。因为您的搜索字符串是在 get 方法中提交的。所以你必须使用: -
$_GET['search']
请试试这个。
推荐阅读
- r - 在 R 中使用 stringr 难以删除字符串中的多个括号
- python - 如何在图像中找到签名?
- javascript - 如果选项卡关闭,“fetch”调用会继续吗?
- python - 如果被视为索引的列中的值多次出现,如何从 DataFrame 中获取保留所有值的 dict?
- reactjs - React Native - 您使用哪个模块进行应用内支付?
- xml - 在各种模板方法中反转日期格式
- excel - 如何将 XML 属性转换为 Excel?
- sql-server - 其中一个 cloumns 的 SQL 存储过程条件更新
- f# - 如何从 F# 记录中获取 Avro 序列化消息?
- javascript - 如何在 Angular 应用程序中使用 Word2vec