我正在尝试创建一种从 API 脚本更新数据库中价格的方法,该脚本一次搜索一个项目。
API 脚本按商品编号搜索,然后在同一页面中更新价格。
另一个页面,将有一个 cronjob 和一个 foreach 循环,其中所有可变项目编号都被输出到函数中。
然后,foreach 循环函数一个一个地获取项目编号,将它们发送到 API.php 页面,然后按项目编号搜索并更新到数据库中。
目前我正在尝试使用 echo 和 html“发布”到所需页面来做到这一点。以及一些在页面加载后自动将项目提交到 api 页面的 javascript。也许我对这一切都错了!
正在发生的事情是,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']);
//由于所有 item_numbers 都被从数据库中拉出,因此正在设置数组上方 - 所以这不仅仅是一个项目编号,如回显中所示...
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”,它只是通过类似(搜索:$_POST['item_number'] ---然后插入/更新数据库)来查找项目编号。
我认为就是这样!希望一切都有意义!谢谢!