1
我有一個PHP的問題,我想提出如下結果:如何刪除數據重複在PHP?
123 *托馬斯·蒂凡尼·凱瑟琳·恩恩*加布裏埃爾·伊麗莎白·阿吳*
但考慮如下結果:
123 * 123 * 123 * 123 * 123 * thomas * thomas * thomas * thomas * tiffany * tiffany * tiffany * tiffany * Catherine * Catherine * Catherine * Catherine * Catherine * EnEn * EnEn * EnEn * EnEn * Gabriel * Gabriel * Gabriel * Gabriel * Elizabeth * Elizabeth * Elizabeth * Elizabeth * Ah Goh * Ah Goh * Ah Goh * Ah Goh * Ah Goh *
任何人都可以告訴我如何解決這個問題?謝謝。
下面是代碼:
$name = $_POST['Username'];
$data = mysql_query("SELECT * FROM User");
$data1 = mysql_query("SELECT Friends.responseRequest FROM User INNER JOIN Friends ON
User.username = Friends.sentRequest WHERE User.username = '$name' AND Friends.status = 'approved'")or die(mysql_error());;
$data2=mysql_query("SELECT Friends.sentRequest FROM User INNER JOIN Friends ON User.username = Friends.responseRequest WHERE User.username = '$name'
AND Friends.status = 'approved'");
$user = array();
while($info1 = mysql_fetch_array($data)){
array_push($user, $info1[username]);
}
$friend =array();
$getFriend1 = mysql_query("SELECT * FROM Friends WHERE sentRequest='$name' AND status='approved'");
$getFriend2 = mysql_query("SELECT * FROM Friends WHERE responseRequest='$name' AND status='approved'");
while($info2 = mysql_fetch_array($getFriend1)){
array_push($friend , $info2[responseRequest]);
}
while($info3 = mysql_fetch_array($getFriend2)){
array_push($friend , $info3[sentRequest]);
}
$newFriend = array_unique($friend);
$newUser=array();
for($i=0;$i<count($user);$i++){
for($j=0;$j<count($newFriend);$j++){
if($newFriend[$j]!=$user[$i]&&$user[$i]!=$name){
echo $user[$i]."*";
}
}
}
mysql_close();
我沒有看太多的代碼。但我有一種感覺,你可以在你的SQL Query中使用DISTINCT來減少邏輯複雜度。 – Lenin
這段代碼很難把握。你應該真正做的是仔細研究數據庫表結構,並開始處理一個能夠獲取所需信息的單個查詢。 – eis