現在、[friends]という名前のテーブルがあり、これは行などに使用されます。
+ ----------------------------------- friend_id | friend_one | friend_two | 役割--------------------------------------------++ --- -------------------------------------------------- -------------------------------------------------- ------------------------- +
これはフォローとフォロー解除のシステムですが、それほど素晴らしいものではありません。
友達の追加と削除については、これをより効率的にして、データベースからの読み取りをはるかに簡単にし、信頼性を高める方法を知りたいと思います。
// Add Friend
public function Add_Friend($uid,$fid){
$fid = mysql_real_escape_string($fid);
$q = mysql_query("SELECT friend_id FROM friends WHERE friend_one='$uid' AND friend_two='$fid' AND role='fri'");
if(mysql_num_rows($q) ==0 ){
$query = mysql_query("INSERT INTO friends(friend_one,friend_two,role) VALUES ('$uid','$fid','fri')") or die(mysql_error());
$query = mysql_query("UPDATE users SET friend_count=friend_count+1 WHERE uid='$uid'") or die(mysql_error());
return true;
}
}
// Remove Friend
public function Remove_Friend($uid,$fid){
$fid = mysql_real_escape_string($fid);
$q = mysql_query("SELECT friend_id FROM friends WHERE friend_one='$uid' AND friend_two='$fid' AND role='fri'");
if(mysql_num_rows($q) == 1){
$query = mysql_query("DELETE FROM friends WHERE friend_one='$uid' AND friend_two='$fid'") or die(mysql_error());
$query = mysql_query("UPDATE users SET friend_count=friend_count-1 WHERE uid='$uid'") or die(mysql_error());
return true;
}
}
すべてが正常に機能しています。簡単にすることでどうすればよいかを知りたいだけです。現在、フォローしている友達の数を読み込もうとしていますが、SQLに関する現在の知識ではほとんど不可能です。