我想在我的网页上以表格格式显示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并不好。
答案 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
}
?>