寫入MYSQL數據庫與感謝精靈斯騰伯格(我不能讓您的解決方案的工作,對不起),我想我在正確的方向前進,但我無法寫PHP到MySQL數據庫。AJAX POST陣列 - 用PHP
首先,在我的網頁動態表格的形式有多個用戶輸入數據,和我使用這個jQuery的功能和AJAX調用發送到PHP文件。我在這裏正確創建多維數組嗎? Firebug顯示dataString具有我想要的所有數據,但POST參數和源只是說dataString。此外報警功能顯示的數據都在那裏:
編輯:與感謝Jancha和安德魯,我已經改變了AJAX後的數據源。數據庫正在寫入,但只有BLANK數據被寫入,與表中的條目數相同。螢火蟲控制檯顯示所有數據,因爲它應該在帖子中看起來。我只是不知道如何構建PHP循環。
jQuery(function() {
jQuery(".button1").click(function() {
// process form here
var rowCount = jQuery('#dataTable tr').length;
var dataString = [];
dataString.length = rowCount - 2;
for(var i=2; i<rowCount; i++) {
var txtRow1 = jQuery('#txtRow' + (i-1)).val();
var tickerRow1 = jQuery('#tickerRow' + (i-1)).val();
var quantRow1 = jQuery('#quantRow' + (i-1)).val();
var valueRow1 = jQuery('#valueRow' + (i-1)).val();
// previous code: dataString[i-2] = 'txtRow1='+ txtRow1 + '&tickerRow1=' + tickerRow1 + '&quantRow1=' + quantRow1 + '&valueRow1=' + valueRow1;
// new code:
dataString[i-2] = [txtRow1, tickerRow1, quantRow1, valueRow1];
}
//alert (dataString);return false;
jQuery.ajax({
type: "POST",
url: "form_action2.php",
data: { 'data': dataString }
});
return false;
});
});
如果這是發送數據好吧,那麼我認爲PHP函數需要看起來像這樣:
我能有PHP函數幫助請。感謝您的時間。
$data = $_POST['data'];
foreach ($data as $key => $value){
$txtRow1 = $data['txtRow1'];
$tickerRow1 = $data['tickerRow1'];
$quantRow1 = $data['quantRow1'];
$valueRow1 = $data['valueRow1'];
$sqlinsert = "INSERT INTO stock_port (name, ticker, quantity, value) VALUES ('$txtRow1', '$tickerRow1', '$quantRow1', '$valueRow1')";
mysql_query($sqlinsert, $conn);
}
最後編輯:好了,所以這個工程的數據輸入到數據庫:
$data = $_POST['data'];
foreach ($data as $value){
$txtRow1 = $value[0];
$tickerRow1 = $value[1];
$quantRow1 = $value[2];
$valueRow1 = $value[3];
$sqlinsert = "INSERT INTO stock_port (name, ticker, quantity, value) VALUES ('$txtRow1', '$tickerRow1', '$quantRow1', '$valueRow1')";
mysql_query($sqlinsert, $conn);
}
似乎使用數據:{「數據」:dataString}在AJAX jQuery的調用意味着我失去了所有的數組中發送到POST的數據的變量名稱。儘管這是行得通的,但它並不像應該做的那樣。我已經看到其他人在他們的ID或名稱中使用數組結構來輸入表單,而且這看起來應該是一種方式。
你肯定這一點。我實際上已將其從data:dataString更改爲data:「dataString」,並在我搜索到的堆棧溢出問題的建議中使用。如果我進行了更改,建議我在螢火蟲控制檯中將未定義的POST信息作爲POST信息。 – MGB
http://api.jquery.com/jQuery.ajax/數據:「對象,字符串 數據被髮送到服務器時,它被轉換成一個查詢字符串,如果不是已經是一個字符串」所以,如果你想傳遞實際的數組而不是字符串「dataString」,我確定它應該沒有引號。把console.log(dataString);就在jQuery.ajax之前,並在控制檯中看到它是什麼。如果它仍然沒有定義,那麼產生它的循環會出現問題。 – jancha
當我檢查dataString時,它擁有我認爲應該有的所有數據,所以我不認爲問題在於創建變量dataString。 – MGB