使用php while循环显示网页上多个表的项目

时间:2011-06-21 17:14:11

标签: php mysql

我正在尝试使用while循环从我的mysql数据库中删除来自2个不同表的数据。

目前我可以显示1个表中的数据并将结果限制为3.然后我想显示另一个表中的前5个记录。如果我加入表格,我只能使用LIMIT显示相同数量的项目?

我使用while循环来显示名为item的表中的内容,使用以下代码;

$查询“);          $ result2 = @mysql_query($ query,$ connection)     或死(“无法执行查询
$查询”);

<?php
while($row= mysql_fetch_array($result))
{
?>
<?php echo $row['item'] ?>
<?php
}
?>

如果我从下一个名为movie的表开始另一个循环,但是使用以下代码不会显示数据;

<?php
while($row= mysql_fetch_array($result2))
{
?>
<?php echo $row['title'] ?>
<?php
}
?>

显示2个表中数据的最佳方法是什么? 非常感谢

1 个答案:

答案 0 :(得分:2)

我不知道你是否忘记粘贴一些代码,但这应该有效:

<?php
$query =  "select * from item order by date, time asc limit 0,3";
$result = mysql_query($query);
while($row= mysql_fetch_array($result))
{
   echo $row['item'];
}

$query2 = "select * from movie limit 0,5";
$result2 = mysql_query($query2);    
while($row= mysql_fetch_array($result2))
{
   echo $row['movie'];
}
?>

您也可以使用一个SQL查询来执行此操作:

SELECT i.item, m.movie
FROM (SELECT * FROM item ORDER BY date, time ASC LIMIT 0,3) i,
     (SELECT * FROM movie limit 0,5) m

然后在php:

<?php
while($row= mysql_fetch_array($result))
{
   echo $row['item'];
   echo $row['movie'];
}
?>

但这取决于您希望如何格式化输出。