【问题标题】:PHP: identical mysql_fetch_array statements working in one place but not in anotherPHP:相同的 mysql_fetch_array 语句在一个地方工作但在另一个地方不工作
【发布时间】:2013-11-02 04:52:47
【问题描述】:

我制作了一个页面,用户可以在其中上传状态,然后将其显示在只读文本区域中。我的问题是,我想在显示状态的文本区域下方的文本区域中显示状态上传的时间,但这不起作用。我可以在第一个 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>

【问题讨论】:

  • I'll eventually replace all of the relevant code. : 相反,我最终会be forced to 替换所有相关代码。
  • 哈哈,我知道,但这是一个非常紧凑的项目,所以这没什么大不了的。

标签: php html mysql textarea echo


【解决方案1】:

我以前从未使用过它,但您可以使用mysql_data_seek(0) 重置您的 mysql 数据指针。考虑一下,这可能会比将其存储在数组中使用的内存略少,但它可能使数据库连接保持不必要的长。

Reference:

【讨论】:

  • 这是一个很好的答案。如果我问了这个问题,我会接受这个答案。
  • 非常好,是的,使用 mysql_data_seek($showstatus, 0);其余代码让它工作。非常感谢。
【解决方案2】:

第二个不打印,因为在您的第一个循环之后,指针已经到达值的末尾并且没有更多的值可以获取

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'] . " ";}?>

【讨论】:

  • 感谢您的快速回复!有没有办法我可以“重置”循环为第二个文本区域做同样的事情?
  • 看@jdog 的回答,比我的好多了。
  • 是的,请参阅@jdog 的回答
  • 哈哈,抱歉,跟不上 cmets 的步伐。谢啦。多亏了您的评论,我才从概念上理解出了什么问题,所以如果可以的话,我也会支持您。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-03
  • 2022-01-20
  • 2016-10-31
  • 2014-05-25
相关资源
最近更新 更多