【问题标题】:Foreach loop only looping once?Foreach 循环只循环一次?
【发布时间】:2012-05-04 23:31:24
【问题描述】:

我的 foreach 循环打开多个文件时遇到问题。

我的 foreach 循环只为第一个项目编号运行一次。 foreach 循环运行然后转到“api.php”页面但随后停止并且不返回到 foreach 循环以获取下一个项目编号。如何告诉它遍历我数据库中的所有项目编号?

我会以某种方式使用 cURL 吗?

谢谢

这是我的代码:

$itemnumber = array("".$result['item_number']."");

foreach ($itemnumber as $item_number) {

echo "<form method=\"post\" action=\"api.php\" name=\"ChangeSubmit\" id=\"ChangeSubmit\">";
echo "<input type=\"text\" name=\"item_number\" value=\"{$item_number}\" />";

echo "<script type=\"text/javascript\">
function myfunc () {
var frm = document.getElementById(\"ChangeSubmit\");
frm.submit();
}
window.onload = myfunc;
</script></form>";



}

【问题讨论】:

  • 你知道数组只有一项吗?
  • 一旦你解决了这个问题,这个脚本会让你非常非常不开心...
  • @IgnacioVazquez-Abrams:脚本名称有没有可能是wife.php?
  • foreach 循环的内容似乎也是我不想要的东西。您的输出中将有许多 myfunc 和许多具有相同 id 的 html 元素
  • 为什么这个脚本会让我不开心?

标签: php loops foreach


【解决方案1】:

foreach 看起来不错,但是如果你想让它遍历多个数字,你需要提供多个。现在您只提供一个号码。

【讨论】:

  • 'item_number' 是我数据库中一个字段的名称,因此它提取了多个数字。当我回应这一点时,我会在我的数据库中获得所有项目编号,但是当“项目编号”发送到“amazon.php”时,它不会返回获取下一个项目编号。
  • @myladeybugg:仅仅因为您的 DB 调用返回 1,2,3,4 并不意味着 PHP 会将它们视为单独的 ID。它会看到一个 SINGLE 字符串。
  • 在我看来它是个性化的,通过回声出来的方式。每个项目编号
    都有一个输入字段。显示回声正在运行多次-也许我想错了?此外,第一个项目编号已成功搜索并添加到数据库中,否则我认为所有数字都粘在一起可能会在 API 搜索中出错?谢谢!
【解决方案2】:

实际上,您的数组中只有一项。所以它只循环一次。

您的代码$itemnumber = array("".$result['item_number'].""); 将转换为

 $itemnumber = array($result['item_number']);

因为,您提供的双双引号在代码中也没有意义。所以,最后数组将只有一项。

【讨论】:

  • 哎呀,我应该更具体。 $result['item_number'] 正在从数据库中提取。它提取所有存储的项目编号并将它们分配给该变量。在回声中,它会回显所有单独的项目编号,看起来像是一个适当的循环。因为,看起来每个回显只有一个项目编号,并且附加了一个输入字段。还是我错过了??谢谢!
猜你喜欢
  • 1970-01-01
  • 2012-07-27
  • 2013-11-28
  • 1970-01-01
  • 2015-09-28
  • 2016-01-09
  • 1970-01-01
  • 2011-07-04
相关资源
最近更新 更多