2013-10-11 34 views
0

因此,有可能进行排序这个问题一个非常简单的方法,但在现阶段,我很为难出于某种原因。我正在开展一个实践项目,建立一个基本的社交网络。我创建了一个基本的php/mysql搜索功能,用户可以通过查询数据库来搜索其他用户,其功能如下: 1.用户在其自己的个人档案页上输入其他用户的姓名到搜索表上 2.该重定向他们到一个“搜索朋友”的PHP页面,该页面查询数据库并在搜索中查找类似的记录。 3.页面重定向到一个结果页面,原来的用户可以看到其他用户的小型型材。的搜索结果,而循环PHP

我的问题是:如何发送从while循环的结果页面生成的数据。

$resulting = mysqli_query($con, "SELECT * FROM $tbl_name WHERE LastName LIKE '%$secondquery%' 
          OR LastName LIKE '%$firstquery%' 
          OR LastName LIKE '%$thirdquery%' 
          OR LastName LIKE '%$fourthquery%' 
          OR FirstName LIKE '%$secondquery%' 
          OR FirstName LIKE '%$firstquery%' 
          OR FirstName LIKE '%$thirdquery%' 
          OR FirstName LIKE '%$fourthquery%' 
          "); 
    $counting = mysqli_num_rows($resulting); 
    if($counting != 0){ 

    while($row = mysqli_fetch_array($resulting)) 
    { 
     echo $row['FirstName'] . " " . $row['LastName'] . "<br>"; 

     } 

     mysqli_close($con); 
     header("location: results.php"); 

我想过做这样的事情:

while($row = mysqli_fetch_array($resulting)) 
    { 
     if($n = 1){ 
     $_SESSION['a'] = $row['FirstName'] . " " . $row['LastName'] . "<br>"; 
     $n = 2; 
     }elseif($n = 2){ 
     $_SESSION['b'] = $row['FirstName'] . " " . $row['LastName'] . "<br>"; 
     $n = 3; 
     } 
     } 

     mysqli_close($con); 
     header("location: results.php"); 

,然后呼应结果页面上的会话,但它过分依赖于复制粘贴等,我还没有得到它的工作仍尚未。任何人有任何想法如何最好地解决这个问题?

感谢您的帮助!

+1

为什么你想要将用户重定向到results.php,而不是仅仅向他/她发送结果? –

+0

else else if必须使用==来比较$ n和一个值。 – tCode

+0

您的代码容易受到SQL注入攻击。 –

回答

0

如果你想分享你的网站页面之间的一些数据,会话是不错的选择,反正,如果查询的结果是太大,它可能会消耗大量的内存,所以尽量在查询中减少数据的选择。所以可能你想使用类似的变化$resulting$_SESSION[resulting]

0

这是我会怎么做:

当用户在搜索按钮点击使用$ _GET变量中的信息输入到搜索框中的用户,然后通过URL发送到结果页。然后结果页面检索$ _GET变量并执行查询并显示结果。

通过URL搜索查询很方便,因为这时用户可以通过浏览器的历史导航回结果页面,或保存书签。这与能够复制和粘贴Google搜索网址类似。

希望这会有所帮助。