使用foreach循环将$var发送到另一个.php页面?

使用foreach循环将$var发送到另一个.php页面?,php,foreach,cron,Php,Foreach,Cron,我试图创建一种方法来更新数据库中的价格,通过API脚本,一次搜索一个项目 API脚本按项目编号搜索,然后在同一页面中更新价格 另一个页面将有一个cronjob和一个foreach循环,其中所有变量条目号都被输出到函数中 然后,foreach循环函数逐个获取项目编号,将其发送到API.php页面,然后该页面按项目编号进行搜索并更新到数据库中 目前,我正试图通过echo和html文章来实现这一点。以及一些javascript,这些javascript在加载页面后自动将项目提交到api页面。也许我完全

我试图创建一种方法来更新数据库中的价格,通过API脚本,一次搜索一个项目

API脚本按项目编号搜索,然后在同一页面中更新价格

另一个页面将有一个cronjob和一个foreach循环,其中所有变量条目号都被输出到函数中

然后,foreach循环函数逐个获取项目编号,将其发送到API.php页面,然后该页面按项目编号进行搜索并更新到数据库中

目前,我正试图通过echo和html文章来实现这一点。以及一些javascript,这些javascript在加载页面后自动将项目提交到api页面。也许我完全搞错了

发生的事情是,foreach循环读取所有数字并正确输出它们,但是我在其中的javascript代码提交。我只得到发送到API的第一个项目编号条目,当然插入到数据库中

由于这会使页面离开.php foreach循环页面,因此foreach循环无法继续,我只能使用第一个条目

抱歉发了这么长的帖子!只是想说清楚

我的代码是这样的:

$sql = "SELECT id, item_number FROM products ORDER BY id DESC";
$query = mysql_query($sql) or die (mysql_error());
while ($result = mysql_fetch_array($query)) {

$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>";

/*This outputs on the page all the item numbers of every product, with input text boxes next to them, then after a split second the javascrip echo submits -- only the very first item number to the api. */
}
}

?>
这是主页,然后将其发送到api.php,它只需通过类似搜索的方式查找项目编号:$\u POST['item\u number']——然后插入/更新数据库

我想就是这样!希望一切都有意义!谢谢

像这样使用jQuery:

<script type="text/javascript">
$('#ChangeSubmit').click(function() {
  $.ajax({
    url: "api.php",
    dataType: "json",
    type: "POST",
    data: {
      itemNumber: <?php print $item_number; ?>,
    },
    success: function (m) {
        console.log(m);
    },
    error: function (e) {
      console.log("Something went wrong ...: "+e.message);
    },
  }); /* end ajax*/
  e.preventDefault();
});
</script>

现在代码回显了我数据库中的所有项目编号。如果我单击其中一个,它将连接到“api.php”,并将一个新条目插入到我的数据库中,但它不会返回到回显项目编号的页面。我不确定我是否应该回应这些,或者ajax是否在正确的位置

项目编号被使用并发送到“api.php”,它将连接到我的数据库并更新我的数据库

下面是我如何尝试合并ajax的。让我知道你们的想法。 谢谢


你试过检查Ajax吗?没有。我直到现在才听说它!请检查一下,你应该会非常高兴。我在上一篇文章之前从未听说过这件事。谢谢你的示例代码。我将研究它,并找出如何尝试和实施它。
<?php

mysql_connect("", "", "") or die(mysql_error());

mysql_select_db("") or die (mysql_error());


$sql = "SELECT id, item_number FROM products WHERE retailer LIKE ('%api%') ORDER BY id DESC";
$query = mysql_query($sql) or die (mysql_error());
while ($result = mysql_fetch_array($query)) {


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

foreach ($itemnumber as $item_number) {

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


echo "<script type=\"text/javascript\">
$('#ChangeSubmit').click(function() {
  $.ajax({
    url: \"api.php\",
    dataType: \"json\",
    type: \"POST\",
    data: {
      itemNumber: <?php print $item_number; ?>,
    },
    success: function (m) {
        console.log(m);
    },
    error: function (e) {
      console.log(\"Something went wrong ...: \"+e.message);
    },
  }); /* end ajax*/
  e.preventDefault();
});
</script>" ;



}


}

?>