首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Friend_array擦除

Friend_array擦除
EN

Stack Overflow用户
提问于 2014-05-07 07:42:37
回答 1查看 39关注 0票数 0

我有一个系统,其中用户的朋友存储在与该用户关联的数组中。我有一个功能,就是从这个好友数组中只删除一个人。但是,当此代码从remove friend按钮触发时,它会删除整个数组。我将数组设置为用逗号分隔用户(因此使用了各种$usernameComma变量)

代码语言:javascript
复制
if (@$_POST['removefriend']) {
  //Friend array for logged in user
  $add_friend_check = mysql_query("SELECT friend_array FROM users WHERE username='$user'");
  $get_friend_row = mysql_fetch_assoc($add_friend_check);
  $friend_array = $get_friend_row['friend_array'];
  $friend_array_explode = explode(",",$friend_array);
  $friend_array_count = count($friend_array_explode);

  //Friend array for user who owns profile
  $add_friend_check_username = mysql_query("SELECT friend_array FROM users WHERE     username='$username'");
  $get_friend_row_username = mysql_fetch_assoc($add_friend_check_username);
  $friend_array_username = $get_friend_row_username['friend_array'];
  $friend_array_explode_username = explode(",",$friend_array_username);
  $friend_array_count_username = count($friend_array_explode_username);

  $usernameComma = ",".$username;
  $usernameComma2 = $username.",";

  $userComma = ",".$user;
  $userComma2 = $user.",";

  if (strstr($friend_array,$usernameComma)) {
    $friend1 = str_replace("$usernameComma","",$friend_array);
  }
  else
  if (strstr($friend_array,$usernameComma2)) {
   $friend1 = str_replace("$usernameComma2","",$friend_array);
  }
  else
  if (strstr($friend_array,$username)) {
   $friend1 = str_replace("$username","",$friend_array);
  }
  //Remove logged in user from other persons array
  if (strstr($friend_array,$userComma)) {
   $friend2 = str_replace("$userComma","",$friend_array);
  }
  else
  if (strstr($friend_array,$userComma2)) {
   $friend2 = str_replace("$userComma2","",$friend_array);
  }
  else
   if (strstr($friend_array,$user)) {
   $friend2 = str_replace("$user","",$friend_array);
  }

  $friend2 = "";

  $removeFriendQuery = mysql_query("UPDATE users SET friend_array='$friend1' WHERE username='$user'");
  $removeFriendQuery_username = mysql_query("UPDATE users SET friend_array='$friend2' WHERE username='$username'");
  echo "Friend Removed ...";

}


 ?>
EN

回答 1

Stack Overflow用户

发布于 2014-05-07 08:05:43

看起来您总是通过在查询前设置$friend2 = "“来清除第二个用户("other persons数组”)的friend_array。

然而,绝对同意Mike Brant评论中的建议。这是一种好得多的方法。它可能需要做更多的工作来改变,但最终的结果将更加适用于这个和未来的开发。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23506350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档