php
  • mysql
  • 2013-08-31 201 views 0 likes 
    0

    我在switch語句中有下面的代碼,因爲查詢可以根據屏幕名稱(1個字),全名(2個字...也許3個)或電子郵件地址「爆炸」的3個字(我把它放在一起後,沒有biggy)。但是,無法找到下面的代碼的問題:php mysql只返回第一條記錄

    $query = "SELECT * FROM personal WHERE FirstName='$searchName' OR LastName='$searchName' OR Email='$searchName' OR displayName='$searchName'"; 
    $result = mysql_query($query) or die(mysql_error()); 
    
    echo "<center><table border='1' width='70%'>"; 
    if (mysql_num_rows($result)) { 
        $row = mysql_fetch_assoc($result); 
        $myBuddy = $row['FirstName']. 
        " ".$row['LastName']; 
        $picName = $row['FirstName'].$row['LastName'].$row['RecNum']; 
    
        if (file_exists('../members/'.$picName. 
         '/profile.jpg')) { 
         $picLine = "<img src = '../members/".$picName. 
         "/profile.jpg' alt='profile' height='100' width='100' />"; 
        } 
    
        echo "<tr>"; 
        echo "<td style='text-align:center'>".$picLine. 
        "</td>"; 
        echo "<td style='text-align:center; color:red'>".$myBuddy. 
        "</td>"; 
        echo "<td style='text-align:center'><input type='button' value='Add Buddy'></td>"; 
    } 
    
    echo "</table>"; 
    break; 
    

    問題是,我有幾個人在我的MySQL數據庫具有相同的姓氏(瓊斯),然而,在上面的代碼只返回一個人的第一次出現與瓊斯姓氏。試圖將它們全部歸還,而不僅僅是一個。我知道我只是忽略了一些小事&愚蠢 - 一直在做php/mysql現在2年 - 從來沒有做過一個搜索頁面。任何幫助是極大的讚賞。

    +0

    誰想要解碼非常縮進的源代碼。請在發佈下一個問題時花更多時間。無論如何,我編輯了一下... – SteAp

    +0

    在未來嘗試切換到mysqli – Davit

    +0

    2年,你從來沒有必要從數據庫查詢之前做出表?搜索頁面不是我們這樣做的唯一時間。 – Barmar

    回答

    3
    while ($row = mysql_fetch_assoc($result)) { 
        //... 
        //use $row 
    } 
    

    代替

    $row = mysql_fetch_assoc($result); 
    
    1

    你有太多循環的結果,如下面的例子:

    echo "<center><table border='1' width='70%'>"; 
    if (mysql_num_rows($result)) 
    { 
        while($row = mysql_fetch_assoc($result)) { 
         $myBuddy = $row['FirstName'] . " " . $row['LastName']; 
         $picName=$row['FirstName'].$row['LastName'].$row['RecNum']; 
    
         if (file_exists('../members/' . $picName . '/profile.jpg')) 
         { 
          $picLine = "<img src = '../members/" . $picName . 
             "/profile.jpg' alt='profile' height='100' width='100' />"; 
         } 
    
         echo "<tr>"; 
         echo "<td style='text-align:center'>" . $picLine . "</td>"; 
         echo "<td style='text-align:center; color:red'>" . $myBuddy . "</td>"; 
         echo "<td style='text-align:center'><input type='button' value='Add Buddy'></td>"; 
        } 
    
        echo "</table>"; 
        break; 
    } 
    

    上面,我使用了一個while循環。

    while($row = mysql_fetch_assoc($result)) { 
        // code 
    } 
    
    相關問題