如何使用搜索栏在不同页面上填充多个项目?

时间:2015-06-02 19:59:34

标签: php html database searchbar

嗨,我想知道是否有人可以提供帮助。我刚为我的网站开发了一个搜索栏,它将在使用include函数加载的每个页面上,因此它们都是相同的。代码可以完美地读取我的数据库,但我对如何以我需要的格式将多个结果发送到另一个页面感到迷茫。问题是我将2到3个变量发布到url中的每个链接的下一页,如果搜索栏返回的结果超过1,那么每个结果将需要2到3个变量来填充下一页。

链接示例

<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,然后从目标页面上的数据库中检索相应的结果。

对不起,我仍然是这种编码的新手,我希望我没有把任何人与我想说的东西混淆。感谢您的时间,希望我能解决这个问题。再次感谢。

1 个答案:

答案 0 :(得分:1)

如果要在其他页面上显示结果,请考虑将它们放在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>"; 
}