我创建了一个用户可以上传状态的页面,然后将其显示在只读文本区域中。我的问题是,我想在显示状态的文本区域下方的textarea中显示状态上传的时间,但这不起作用。我可以在第一个textarea中显示我想要的任何内容(包括状态上传时间,使用相同的['time_posted']标签),但是在第二个textarea中不会显示任何内容,即使我整合了第一个textarea。我不知道造成这种情况的原因是什么,也看不出我可能出错的地方,所以我真的很感谢有关问题的反馈。
PS:我知道mysql(正在进行中)已被弃用,所以不要打扰告诉我有关mysqli和PDO的事情。我最终将替换所有相关代码。
<textarea readonly style="position:absolute; top:54%; left:45.2%;
border-style: none; border-color: Transparent; overflow: auto; resize:none;"
cols="16" rows="3"><?php while ($row = mysql_fetch_array($showstatus))
{echo $row['status'] . " ";}?></textarea>
<textarea readonly style="position:absolute; top:63%; left:45.2%;
border-style: none; border-color: Transparent; overflow: auto; resize:none;"
cols="16" rows="3"><?php while ($row = mysql_fetch_array($showstatus))
{echo $row['time_posted'] . " ";}?></textarea>
答案 0 :(得分:1)
我之前从未使用过它,但您可以使用mysql_data_seek(0)
重置mysql数据指针。考虑到这一点,这可能会比将它存储在一个数组中使用更少的内存,但它可能会长时间保存数据库连接。
<强> Reference: 强>
答案 1 :(得分:0)
第二个不打印,因为在第一个循环之后,指针已到达值的末尾,并且没有更多值可以提取
while ($row = mysql_fetch_array($showstatus))
完成后,您无法从同一个对象中获取更多值,因为您已经到达记录的末尾。
<强>解决方案:强>
Ether再次获取结果,或者在第一个循环中创建一个新数组,然后在第二个循环中迭代该数组。
实施例
在第一个循环中创建一个新数组,如$values=$row[]
。像
第一次循环
<?php while ($row = mysql_fetch_array($showstatus)){echo $row['status'] . " "; $values[]=$row;}?>
然后将第二个循环更改为
foreach($values as $row)
像
<?php foreach($values as $row){echo $row['time_posted'] . " ";}?>