2013-04-20 1 views
2

Я создаю страницу запроса друга, которая должна принимать запрос друзей как массив, чем разделять каждое имя пользователя запятой.php + mysql + как добавить запятую, чтобы разделить строку в базе данных

я не знаю, что использовать лопаются или взрываются я действительно использовал оба, но ни один дать мне результат, как я хочу

, когда я нажимаю кнопку accpet я получаю эту ошибку

Предупреждение : implode(): Недопустимые аргументы, переданные в C: \ wamp \ www \ Без имени. Сайт 2 \ resources \ friend_requests.php в строке 59

может кто-нибудь мне помочь ???

friend_request.php

<?php 
session_start(); 

if($sessionlogin = isset($_SESSION['login'])) 
{ 

    $login = ($_SESSION['login']); 
    $userid = ($_SESSION['user_id']); 
    $login_user = ($_SESSION['username']); 
    $fname = ($_SESSION['first_name']); 
    $lname = ($_SESSION['last_name']); 
    $sessionaddres =($_SESSION['address']); 



// require_once('header.php'); 
require_once('for members/scripts/connect.php'); 
    //find friend request 
    $findrequests = mysql_query("SELECT * FROM friend_requests WHERE user_from = '$login_user'") or die(mysql_error()); 
$numrows = mysql_num_rows($findrequests); 
    if($numrows == 0) 
    { 

     echo "YOU HAVE no friend Requests at this time"; 
     $user_from = ""; 

    } 
    else 
    { 
     while($get_row = mysql_fetch_assoc($findrequests)) 
    { 
     $id = $get_row['id']; 
     $user_to = $get_row['user_from']; 
     $user_from = $get_row['user_to']; 

      echo '' . $user_from . ' wants to be friend' . '<br />'; 


      //var_dump($user_from); 
      //var_dump($user_to); 
      //echo "your user_to is '$user_to'"; 
      //echo "your user_from is '$user_from'"; 




?> 



<?php 

if(isset($_POST['acceptrequest'.$user_from])) 
{ 
    //select the friend array row from the logged in user 
    $get_friend_check = mysql_query("SELECT friend_array FROM user WHERE user_name = '$login_user'") or die(mysql_error()); 
    $get_friend_row = mysql_fetch_assoc($get_friend_check); 
    $friend_array = $get_friend_row['friend_array']; 
    $friendArray_explode = implode(",", $friend_array); 
    $friend_array_count = count($friendArray_explode); 


    //select the friend array row from the user who sent the friend request 
    $get_friend_check_friend = mysql_query("SELECT friend_array FROM user WHERE user_name = '$user_from'") or die(mysql_error()); 
    $get_friend_row_friend = mysql_fetch_assoc($get_friend_check_friend); 
    $friend_array_friend = $get_friend_row_friend['friend_array']; 
    $friendArray_explode_friend = implode(",", $friend_array_friend); 
    $friend_array_count_friend = count($friendArray_explode_friend); 

    if($friend_array == "") 
    { 
     $friendArray_count = count(NULL);  

    } 
     //var_dump($friendArray_count); 

    if($friend_array_friend == "") 
    { 
     $friendArray_count_friend = count(NULL); 
    } 

    if (@$friendArray_count == NULL) 
    { 
     $add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT(friend_array, '$user_from') WHERE user_name = '$login_user'"); 
    } 

    if(@$friendArray_count_friend == NULL) 
    { 
     $add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT(friend_array, '$user_to') WHERE user_name = '$user_from'"); 
    } 
    /* 
    if(@$friendArray_count >= 1) 
    { 
     $add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT(friend_array, ',$user_from') WHERE user_name = '$login_user'"); 
    } 
    /* 
     if(@$friendArray_count_friend >= 1) 
     { 
     $add_friend_query = mysql_query("UPDATE user SET friend_array = CONCAT(friend_array, ',$user_to') WHERE user_name = '$user_from'"); 
    } 

     */ 
    // for delete request 

    $delete_request = mysql_query("DELETE FROM friend_requests WHERE user_to = '$user_to' && user_from = '$user_from'") or die(mysql_error()); 

    echo "YOU are now friends!!"; 
    //header("Location: friend_requests.php"); 

} 


if(isset($_POST['ignorerequest'.$user_from])) 
{ 
     $ignore_request = mysql_query("DELETE FROM friend_requests WHERE user_to = '$user_to' && user_from = '$user_from'")  or die(mysql_error()); 

    echo "Request ignored !!"; 
    header("Location: friend_requests.php"); 

} 

?><br /> 
<br /> 
<br /> 
<br /> 
<br /> 

<form action="friend_requests.php" method="post"> 
       <input type="submit" name="acceptrequest<?php echo $user_from; ?>" value="Accept"> 
       <input type="submit" name="ignorerequest<?php echo $user_from; ?>" value="Ignor"> 
</form> 

<?php 
    } 
    } 
} 

?> 
+0

[Сохраняет ли список с разделителями в столбце базы данных действительно так плохо?] (Http://stackoverflow.com/a/3653574) – eggyal

+0

@eggyal, так как решить эту проблему ?? – user2288138

ответ

0

попробовать это

 $get_friend_check = mysql_query("SELECT friend_array FROM user WHERE user_name = '$login_user'") or die(mysql_error()); 

$your_array = array(); 
while ($get_friend_row = mysql_fetch_array($get_friend_check)) { 
$your_array[] = $get_friend_row['friend_array']; 
} 

$friendArray_explode = implode(",", $your_array); 
echo $friendArray_explode; 
  • вы можете также использовать взрываться в MySQL непосредственно

так

$get_friend_check = mysql_query("SELECT group_concat(friend_array SEPARATOR ',') 
           FROM user WHERE user_name = '$login_user'") 
or die(mysql_error()); 
+0

первое решение не работалоkk – user2288138

+0

да, я сделал этот код, но он не работал все еще rhe значение, хранящееся в базе данных, как одно слово, не разделенное запятой – user2288138

+0

попробуйте этот первый код и скажите мне, что это такое. –