php - Mysql - 查找等于 $variable 的字段值回显该行的另一个字段值

标签 php mysql arrays

任何帮助/指导将不胜感激。希望这是有道理的。

我正在尝试从数据库回显用户 friend 的列表。 当前用户来自 $userid。

数据库结构:

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 的 friend id(查找等于 $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 ) 

最佳答案

我不太明白你在问什么,但我认为这就是你正在寻找的

<?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

关于php - Mysql - 查找等于 $variable 的字段值回显该行的另一个字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10993628/

相关文章:

php - Laravel 7 __construct 中的用户数据

mysql - 使用嵌套子查询来获取具有多个条件的值

javascript - 将 JSON 字符串反序列化为列表数组

phpmyadmin - 这个 php.ini 文件到底在哪里?

php - 有哪些 PHP Twitter OAuth 库可用?我应该使用哪一个?

php - LIMIT 和 OFFSET 过滤数据库结果的问题(语法错误)

mysql - 尝试在 mysql 中运行更新查询时出现语法错误

c++ - 使用 + 运算符的字符串连接

python - 根据python中的逻辑数组设置数组的值

php - 在 php 和 javascript 中制作 "mosaic"效果