[英]Pulling mysql data into a multidimensional array
我检查了所有以前回答过的类似问题,但没有任何效果。 我有一个“收件箱”类型的应用程序,其中一个emailaddress@xyz.com的人可能有5条消息正在等待他们。 他们登录并获得这五个消息的屏幕,发件人电子邮件,发送日期以及消息的前15个字符。
在mysql中,我有:id,emailaddress,senderemail,dateent,fullmessage。
我正在使用SELECT * FROM db WHERE emailaddress='emailaddress@xyz.com'
提取5条新邮件。 $result
等于mysql查询。 mysql_num_rows
很好地告诉我有5行。 到那时为止,它都可以正常工作。
我的问题是我(尽管经过数小时的尝试)无法找到正确的语法来将其制作成多维数组,以便可以在for循环中迭代表行并将其全部打印出来。 我正在设想:
<table>
for ($a = 0; $a < $numrows; $a++) {
<tr>
the php code would go here and would print the associated sender, date, and message in <td> cells.
</tr>
}
</table>
任何帮助都将是极好的。
我确定这并不难,但在整个下午的大部分时间里都没有到任何地方。 有人可以告诉我这样做的简单语法是什么吗?
当您使用mysql_fetch_array()
或mysql_fetch_assoc()
时,来自数据库的信息位于数组中。 因此,您可以执行以下操作:
<table>
<?php
$storage_array = array();
$result = mysql_query("SELECT * FROM db WHERE emailaddress='emailaddress@xyz.com'" or die(mysql_error());
while($data = mysql_fetch_assoc($result))
{
?>
<tr>
<td><?php echo $data['sender'] ?></td>
<td><?php echo $data['date'] ?></td>
<td><?php echo $data['message '] ?></td>
</tr>
<?php
$storage_array[] = $data;
}
?>
</table>
如果它们位于不同的表格上,或者使用LIMIT
仅获得5行,则显然您需要将某些表联接到消息中。 您还需要确定您的ORDER BY
。
您将需要知道哪个循环将您的数据添加到$storage_array
并记住它以$storage_array[0]
开头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.