0

クエリは、スクリーン名 (1 単語)、フルネーム (2 単語...おそらく 3)、または "爆発" して 3 単語になる電子メール アドレス (後で元に戻しますが、大したことではありません)。ただし、次のコードでは問題を特定できません。

$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 データベースに同じ姓 (Jones) の人が何人かいますが、上記のコードでは、姓が Jones の人の最初の出現のみを返すことです。1つだけではなく、それらすべてを返そうとしています。私は何か小さくてばかげたことを見落としていることを知っています-php/mysqlを2年間実行しています-以前は検索ページを作成する必要はありませんでした。どんな助けでも大歓迎です。

4

2 に答える 2

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

それ以外の

$row = mysql_fetch_assoc($result);
于 2013-08-31T00:11:01.390 に答える
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
 }
于 2013-08-31T00:11:57.383 に答える