2013-10-11 56 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搜索網址類似。

希望這會有所幫助。