我目前有一个工作正常的搜索栏,并且按我想要的方式工作,我只是想知道是否可以将链接添加到不同的项目中?现在,所有搜索到的重定向到'Session.php'的内容是否都可以显示?如果有人搜索“ Home”,我可以显示结果,然后用户可以单击“ Home.php”吗?谢谢!
Search.php代码:
<?php
//--- Authenticate code begins here ---
session_start();
//checks if the login session is true
if(!isset($_SESSION['sess_user'])){
header("location:index.php");
}
$username = $_SESSION['sess_user'];
// --- Authenticate code ends here ---
?>
<link rel="stylesheet" type="text/css" href="../css/style1.css">
<?php
mysql_connect("localhost", "root", "") or die("Error connecting to database: ".mysql_error());
mysql_select_db("aha") or die(mysql_error());
?>
<html>
</html>
登出
<head>
<title>Search results</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<?php
$query = $_GET['query'];
$min_length = 3;
if(strlen($query) >= $min_length){ // if query length is more or equal minimum length then
$query = htmlspecialchars($query);
// changes characters used in html to their equivalents, for example: < to >
$query = mysql_real_escape_string($query);
// makes sure nobody uses SQL injection
$raw_results = mysql_query("SELECT * FROM articles
WHERE (`title` LIKE '%".$query."%') OR (`text` LIKE '%".$query."%')") or die(mysql_error());
// * means that it selects all fields, you can also write: `id`, `title`, `text`
// articles is the name of our table
// '%$query%' is what I'm looking for, % means anything, for example if $query is Hello
// it will match "hello", "Hello man", "gogohello", if you want exact match use `title`='$query'
// or if you want to match just full word so "gogohello" is out use '% $query %' ...OR ... '$query %' ... OR ... '% $query'
if(mysql_num_rows($raw_results) > 0){ // if one or more rows are returned do following
while($results = mysql_fetch_array($raw_results)){
// $results = mysql_fetch_array($raw_results) puts data from database into array, while it's valid it does the loop
echo "<a href='../pages/session.php'><h3>{$results['title']}</h3></a><p>{$results['text']}</p>";
}
}
else{ // if there is no matching rows do following
echo ("<br><br>No results</br></br>");
}
}
else{ // if query length is less than minimum
echo ("</br></br>Minimum length is</br></br> ".$min_length);
}
?>
</body>
<br>
<br>
<a class="btn btn-search" type="button" href="index.php" >Search Again</a>
</br>
</br>
DB FOR ARTICLE:
http://puu.sh/ctUUq/2f73509cf2.png
谢谢!
您必须将每个记录的页面名称存储在数据库中,然后通过查询对其进行检索。
考虑到您要将其存储在SQL表上名为“ page_name”的列中,请根据用户的查询将这一行更改为指向正确的页面:
echo "<a href='../pages/{$results['page_name']}'><h3>{$results['title']}</h3></a><p>{$results['text']}</p>";
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句