2010-11-05 39 views
0

即時製作PM系統。PHP:如果多個名稱

在收件人字段,如果你輸入

Fox 

則回覆:你的意思是梅根·福克斯?

但是如果Megan的姓氏超過「Fox」,那麼它只會詢問你是否僅僅指其中的一個。

如果有超過1姓氏「狐」的話,我希望它說:

Who did you mean? 
Pammy Fox 
Megan Fox 

如果有隻有1與姓氏,我希望它只是說

Did you mean Megan Fox? 

(像現在這樣)

我該怎麼做?

這裏是我的代碼:

$qur = mysql_query(" 
SELECT id, firstname, lastname, 
(firstname = '$firstname' AND lastname = '$lastname') AS full FROM users 
WHERE (firstname = '$firstname' AND lastname='$lastname') 
OR (firstname LIKE '$firstname%' AND lastname LIKE '$lastname%') 
OR firstname LIKE '$firstname%' OR lastname LIKE '$firstname%' 
ORDER BY (firstname = '$firstname' AND lastname='$lastname') DESC"); 

$get = mysql_fetch_array($qur); 

if($get["full"] == 1){ 
echo $get["id"]; 
}else{ 
echo "Did you mean: ".$get["firstname"]." ".$get["lastname"]." ?"; 
} 
+1

像這樣被標記爲重複,你可能想明確指出它與[你以前的問題]是不同的(http://stackoverflow.com/questions/4105603/php-if-no-first-name)。我花了幾分鐘才弄明白。 – 2010-11-05 12:48:49

+0

它不是重複的! – Johnson 2010-11-05 14:17:59

回答

1
while($get = mysql_fetch_array($qur)) { 
     $name[] = $get["firstname"]." ".$get["lastname"]; 
    } 

    if(count($name) > 1) { 
     echo 'Who did you mean?<br/>'; 
    } else { 
     echo 'Did you mean '; 
    } 
    echo implode('<br/>', $name); 
+0

這是最完整的答案。很好的例子。 – Dutchie432 2010-11-05 13:01:30

0
while($get = mysql_fetch_array($qur) { 
    //do your stuff 
} 

我想反正已經很長的時間,因爲我使用的MySQL和PHP

1

使用mysql_num_rows($result)

link