如何使用搜索栏在不同页面上填充多个项目?
How to populate multiple items on a different page using a search bar?
您好,我想知道是否有人可以提供帮助。我刚刚为我的网站开发了一个搜索栏,它将出现在使用包含函数加载的每个页面上,因此它们都是相同的。该代码可以完美地读取我的数据库,但是我不知道如何以我需要的格式将多个结果发送到另一个页面。问题是我 post 2 到 3 个变量到 url 的下一页,对于每个 link 这种类型,如果搜索栏 returns 超过 1 个结果,那么每个结果都需要 2 到 3 个变量来填充下一页。
Link 例子
<a href="page.php?gen=var1&media=var2&order=date_added DESC">Movies Home</a>
这是搜索条码。
<?php
if(isset($_POST['search_term'])){
$search_term = $_POST['search_term'];
if (!empty($search_term)) {
$query = "SELECT title FROM database WHERE title LIKE '%".mysql_real_escape_string($search_term)."%'";
$query_run = mysql_query($query);
$query_num_rows = mysql_num_rows($query_run);
$result = mysql_query($query_num_rows);
if ($query_num_rows >= 1) {
echo $query_num_rows.' results found:<br>';
while ($query_row = mysql_fetch_assoc($query_run)){
echo $query_row ['title']. '<br>';
}
}
else{
echo 'No results found.';
}
}
}
?>
此代码当前回显在当前页面上。我希望将它传递到结果页面并根据在搜索栏中找到的结果数量填充多个项目。这是我希望从目标页面上的搜索栏中填充的代码示例。
<?php
if (isset($var1)){
$subject_set = mysql_query("Select * FROM database WHERE genre like '%".$info."%' and media = '".$med."' ORDER BY ".$sort." ", $connection);}
else{
$subject_set = mysql_query("Select * FROM media", $connection);
}
if (!$subject_set){
die("Database connection failed: " . mysql_error());
}
htlm code</div>
<?php } ?>
我在想,如果我什至能够使用数组传递结果 ID,然后从目标页面上的数据库中检索相应的结果。
抱歉,我在这种类型的编码方面仍然是一个新手,我希望我没有让任何人混淆我想说的内容。感谢您的宝贵时间,希望我能解决这个问题。再次感谢。
如果你想在其他页面显示结果,可以考虑将它们放在SESSION变量中。
<?php
session_start ( ); // at top of page
...
$theIndex=0;
while ($query_row = mysql_fetch_assoc($query_run)){
echo $query_row ['title']. '<br>';
$_SESSION['searchResult'][$theIndex] =$query_row ['title'];
$theIndex++;
}
然后在您要显示结果的页面上,遍历 SESSION['searchResult'] 并将其回显...
<?php
session_start ( ); // at top of page
$theResults = $_SESSION['searchResult'];
foreach ($theResults as $key=>$value){
echo htmlentities($value) . "<br>";
}
您好,我想知道是否有人可以提供帮助。我刚刚为我的网站开发了一个搜索栏,它将出现在使用包含函数加载的每个页面上,因此它们都是相同的。该代码可以完美地读取我的数据库,但是我不知道如何以我需要的格式将多个结果发送到另一个页面。问题是我 post 2 到 3 个变量到 url 的下一页,对于每个 link 这种类型,如果搜索栏 returns 超过 1 个结果,那么每个结果都需要 2 到 3 个变量来填充下一页。
Link 例子
<a href="page.php?gen=var1&media=var2&order=date_added DESC">Movies Home</a>
这是搜索条码。
<?php
if(isset($_POST['search_term'])){
$search_term = $_POST['search_term'];
if (!empty($search_term)) {
$query = "SELECT title FROM database WHERE title LIKE '%".mysql_real_escape_string($search_term)."%'";
$query_run = mysql_query($query);
$query_num_rows = mysql_num_rows($query_run);
$result = mysql_query($query_num_rows);
if ($query_num_rows >= 1) {
echo $query_num_rows.' results found:<br>';
while ($query_row = mysql_fetch_assoc($query_run)){
echo $query_row ['title']. '<br>';
}
}
else{
echo 'No results found.';
}
}
}
?>
此代码当前回显在当前页面上。我希望将它传递到结果页面并根据在搜索栏中找到的结果数量填充多个项目。这是我希望从目标页面上的搜索栏中填充的代码示例。
<?php
if (isset($var1)){
$subject_set = mysql_query("Select * FROM database WHERE genre like '%".$info."%' and media = '".$med."' ORDER BY ".$sort." ", $connection);}
else{
$subject_set = mysql_query("Select * FROM media", $connection);
}
if (!$subject_set){
die("Database connection failed: " . mysql_error());
}
htlm code</div>
<?php } ?>
我在想,如果我什至能够使用数组传递结果 ID,然后从目标页面上的数据库中检索相应的结果。
抱歉,我在这种类型的编码方面仍然是一个新手,我希望我没有让任何人混淆我想说的内容。感谢您的宝贵时间,希望我能解决这个问题。再次感谢。
如果你想在其他页面显示结果,可以考虑将它们放在SESSION变量中。
<?php
session_start ( ); // at top of page
...
$theIndex=0;
while ($query_row = mysql_fetch_assoc($query_run)){
echo $query_row ['title']. '<br>';
$_SESSION['searchResult'][$theIndex] =$query_row ['title'];
$theIndex++;
}
然后在您要显示结果的页面上,遍历 SESSION['searchResult'] 并将其回显...
<?php
session_start ( ); // at top of page
$theResults = $_SESSION['searchResult'];
foreach ($theResults as $key=>$value){
echo htmlentities($value) . "<br>";
}