![](/img/trans.png)
[英]Capturing a PHP var inside a foreach loop in javascript and using it in an other PHP page.
[英]Using foreach loop to send $var's to another .php page?
我正在嘗試創建一種從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都從數據庫中拉出,因此在數組上方被設置-因此,這不僅僅是一個項目號,如echo中所示...
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'] ---然后插入/更新數據庫)的方式查找商品編號。
我想就是這樣! 希望一切都有道理! 謝謝!
像這樣使用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的方式。 讓我知道你們的想法。 謝謝
<?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>" ;
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.