没有使用php和mysql显示的朋友列表

时间:2013-05-17 08:09:35

标签: php mysql

我有一个朋友列表,我希望在每个个人资料页面上显示用户与他们成为朋友,但问题是,当我使用firebug时,系统显示一个id并使用默认piture

所以我认为错误是在foreach循环中任何人都可以帮助我????

php代码:

<?php 
//***********************Displaying Friend List*************************//
$friendListTitle = "";
$friendList = "";
if($friend_array!="")
{
    $friendArray = explode(",", $friend_array);

    $friendArray = array_slice($friendArray,0,6);
    $friendCount = count($friendArray); 
    var_dump($friendCount);
    $friendListTitle = '<div class="title"> '.$username.'\'s Friends('.$friendCount.')</div>';
        //iterating to retrieve what it's needed as values
/*$frnd1 = $friendArray[0];
$frnd2 = $friendArray[1];
/*$frnd3 = $friendArray[2];
$frnd4 = $friendArray[3];
$friendList .='<div style="background-color:"#CCC";>'.$frnd1.'<br />'.$frnd2.'</div>';*/

        $i=0;
        $friendList .='<div  style="background-color:"#CCC"; >'; 
        foreach($friendArray as $key => $value)
        {
            $i++;
            $check_pic = "members/$value/image01.jpg";
            if(file_exists($check_pic))
            {
                $frnd_pic = '<a href="profile.php?id='.$value.'"><img src = \"$check_pic\" width = \"30px\"; border = \"1\"/></a>';
            }
            else
            {
                $frnd_pic = '<a href="profile.php?id='.$value.'"><img src = "members/0/image01.jpg" width = \"30px\" border = \"1\"/></a>&nbsp;';
            }
            $sqlName = mysql_query("SELECT first_name, last_name FROM members WHERE user_id= '$value' LIMIT 1") or die(mysql_error());
            while($row = mysql_fetch_array($sqlName))
            {
                $fname = $row['first_name'];
                $lname = $row['last_name'];
                $friendList = '<div title="'.$fname.' '.$lname.'">'.$frnd_pic.'</div>';
            }
        }
        $friendList .='</div>';
}
?>

2 个答案:

答案 0 :(得分:2)

您的html表格结构已损坏:

在此处添加结束括号<table border = "0" align="center" cellpadding="3",添加td标记,将tr标记放入循环

另外,替换     if($row = mysql_fetch_array($sqlName,MYSQL_ASSOC)) 同     while($row = mysql_fetch_array($sqlName,MYSQL_ASSOC))

答案 1 :(得分:0)

你错过了一个点。请看这个

while($row = mysql_fetch_array($sqlName))
            {
                $fname = $row['first_name'];
                $lname = $row['last_name'];
                $friendList .= '<div title="'.$fname.' '.$lname.'">'.$frnd_pic.'</div>';
            }

因为varibale的名称($friendList)需要进行一些字符串连接而不是简单的替换。 如果您使用替换,那么您在$friendList收集的内容将会丢失。 主要问题在于这一行:

$friendList .= '<div title="'.$fname.' '.$lname.'">'.$frnd_pic.'</div>';