0

任意のヘルプ/ガイダンスをいただければ幸いです。これが理にかなっていることを願っています。

私はdbからユーザーの友達のリストをエコーバックしようとしています。現在のユーザーは$useridから取得されます。

DB構造:

CREATE TABLE IF NOT EXISTS `wallfriends` (
  `mem_id_from` int(11) NOT NULL,
  `mem_id_to` int(11) NOT NULL,
  `confirm` int(1) NOT NULL,
  `sender` int(11) NOT NULL DEFAULT '0'
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

私が苦労しているのは、現在の$useridではないdbからfriendsidを取得することです($ useridと等しいフィールド値を検索すると、その行の別のフィールド値がエコーされます。したがって、mem_id_fromまたはmem_id_toである可能性があります)。

以下は私のスクリプトですが、コーディングする必要のあるものの構造について頭を悩ませることはできません。

(josnidhinの回答から変更)

    <?php
$my_friends = mysql_query('SELECT * from wallfriends WHERE (mem_id_from = '.$userid.') OR (mem_id_to = '.$userid.') AND confirm = 1');

$available_friends = mysql_fetch_array($my_friends);
foreach($available_friends as $friend)
{
  if($friend['mem_id_from']=== $userid && $friend['mem_id_to']!== $userid)
  {
    echo '<a href="'.$path.'profile.php?userid='.$friend['mem_id_to'].'">'
    echo '<img src="'.$post_avatar.'" width="70px" height="70px" border="0" alt="" />'
    echo '</a>';
  } 
  else if($friend['mem_id_from']!== $userid && $friend['mem_id_to']=== $userid)
  {
    echo '<a href="'.$path.'profile.php?userid='.$friend['mem_id_from'].'">'
    echo '<img src="'.$post_avatar.'" width="70px" height="70px" border="0" alt="" />'
    echo '</a>';
  }
}


        ?>

josnidhinの答えの後、私は試しました:

$userid = '4276';

print_r($available_friends);

Array ( [0] => 3441 [mem_id_from] => 3441 [1] => 4276 [mem_id_to] => 4276 [2] => 1 [confirm] => 1 [3] => 3441 [sender] => 3441 ) 
4

2 に答える 2

1

私はあなたが何を求めているのか本当に理解していませんでしたが、これはあなたが探しているものだと思います

<?php
    $my_friends = mysql_query('SELECT * from wallfriends WHERE (mem_id_from = '.$userid.') OR (mem_id_to = '.$userid.') AND confirm = 1');

    while ($friend = mysql_fetch_array($my_friends, MYSQL_ASSOC)) {
      if($friend['mem_id_from']=== $userid && $friend['mem_id_to']!== $userid)
      {
        echo '<a href="'.$path.'profile.php?userid='.$friend['mem_id_to'].'">'
        echo '<img src="'.$post_avatar.'" width="70px" height="70px" border="0" alt="" />'
        echo '</a>';
      } 
      else if($friend['mem_id_from']!== $userid && $friend['mem_id_to']=== $userid)
      {
        echo '<a href="'.$path.'profile.php?userid='.$friend['mem_id_from'].'">'
        echo '<img src="'.$post_avatar.'" width="70px" height="70px" border="0" alt="" />'
        echo '</a>';
      }
    }

    ?>

http://php.net/manual/en/function.mysql-fetch-array.phpでドキュメントを確認してください

于 2012-06-12T09:31:07.857 に答える
0
<?php
$my_friends = mysql_query('SELECT * from wallfriends WHERE (mem_id_from = '.$userid.') OR (mem_id_to = '.$userid.') AND confirm = 1');

$available_friends = mysql_fetch_array($my_friends);
foreach($available_friends as $friend)
{
if($friend['mem_id_from']=== $userid && $friend['mem_id_to']!== $userid){
echo'<a href="'.$path.'profile.php?userid='.$friend['mem_id_to'].'">
    <img src="'.$post_avatar.'" width="70px" height="70px" border="0" alt="" />
</a>';
} else if($friend['mem_id_from']!== $userid && $friend['mem_id_to']=== $userid){
echo'<a href="'.$path.'profile.php?userid='.$friend['mem_id_from'].'">
    <img src="'.$post_avatar.'" width="70px" height="70px" border="0" alt="" />
</a>';
}
}

?>
于 2012-06-12T10:28:49.087 に答える