2

我想在我的网页上以表格格式显示来自 MYSQL 数据库的一些数据。所以大家都不会混淆网站表和mysql表,从现在开始我将网站表称为“web表”。

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

'image' 和 'users' 都有一个 'user_id' 字段,所以我正在寻找 'users' 中的条目,其中 'user_id' 与 image 中的 '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 不是很好。

4

3 回答 3

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";
于 2013-06-11T12:33:13.623 回答
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
}

?>
于 2013-06-11T12:48:51.647 回答
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
}

?>
于 2013-06-11T12:40:04.517 回答