簡體   English   中英

使用foreach循環將$ var發送到另一個.php頁面?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM