繁体   English   中英

将MySQL数据拉入多维数组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM