回应一个表中与另一个表匹配条件的数据

时间:2013-06-11 12:30:29

标签: php mysql

我想在我的网页上以表格格式显示MYSQL数据库中的一些数据。 所以每个人都在网站表和mysql表之间感到困惑,从现在开始我会把网站表'web table'称为。

此Web表的大部分数据都是从名为“image”的MYSQL表中提取的,但是对于其中一个Web表的列,我想显示来自另一个名为“users”的MYSQL表(在同一数据库中)的数据”。

'image'和'users'都有'user_id'字段,因此我希望找到'users'中的条目,其中'user_id'与图片中的'user_id'匹配。

这是我到目前为止的代码。我知道它已被折旧,但他的项目需要它。

作为参考,“image”中的user_id字段显示为$data[1]

mysql_connect('XX','XX','XX');
mysql_select_db('XX')

$order = "SELECT * FROM image ORDER BY id";

$result = mysql_query($order) or die ("Bad query: " . mysql_error() );  

while($data = mysql_fetch_row($result)){
  echo("<tr><td>$data[0]</td><td>'SELECT users.full_name FROM users WHERE users.user_id = $data[1]'</td><td>$data[2]</td><td>$data[3]</td></tr>");
}

先进的干杯。我知道这可能是基本的,但我对PHP并不好。

3 个答案:

答案 0 :(得分:3)

您可以使用单个INNER JOIN查询获得所需的所有数据

$order = "SELECT a.*, b.full_name FROM image a INNER JOIN user b ON a.user_id = b.user_id ORDER BY a.id";

答案 1 :(得分:1)

另一种方法。

<?php
mysql_connect('XX','XX','XX');
mysql_select_db('XX')

$order = "SELECT * FROM image as i, users as u WHERE  i.user_id =u.user_id ORDER BY i.id";

$result = mysql_query($order) or die ("Bad query: " . mysql_error() );  

while($data = mysql_fetch_array($result)){
    ?>

  <tr><td><?php echo $data[1]?></td><td><?php echo $data[2]?></td><td><?php echo $data[3]?></td><td><?php echo $data[4]?></td></tr>;

<?php
}

?>

答案 2 :(得分:0)

错误就在这里。

    <?php 
 while($data = mysql_fetch_row($result)){
    ?>
  <tr><td><?php echo $data[0]; ?></td><td><?php $sql_res = mysql_fetch_assoc(mysql_query('SELECT users.full_name FROM users WHERE users.user_id ="'.$data[1].'"')); ?></td><td><?php echo $data[2] ?></td><td><?php echo $sql_res['full_name'] ?></td></tr>

  <?php
}

?>