1
讓我開始說我是PHP的新手,但我在這裏學習並非常感謝您的幫助。從循環創建的表格中檢索多個行...卡住
我使用下面的代碼來拉入數據並創建一個表單。這將創建最多40行用戶填寫。每行包含相同的信息:描述,金額和頻率。所需信息的其餘部分由數據庫生成。 (查看隱藏字段)
<?php
$row = 0;
do {
$optid = $row_options['option_id'];
echo "<tr>\n\t<td>" . htmlentities($row_options['option']) . "</td>\n";
echo "\t<td>" . "<input name='description' type='text' size='40' maxlength='120'/>" . "</td>\n";
echo "\t<td>" . "<input name='option_id' type='hidden' value='$optid' />$<input name='amount' type='text' size='10' maxlength='7'/>" . "</td>\n";
echo "\t<td>" . "<select name='assisted_frequency'>
<option value='Monthly'>Monthly</option>
<option value='Weekly'>Weekly</option>
<option value='Daily'>Daily</option>
<option value='Hourly'>Hourly</option>
<option value='One-Time'>One-Time</option>
</select>" . "</td>\n</tr>\n";
$array[$row] = array(
$arraydesc[$row] = $_POST['description'],
$arrayamto[$row] = $_POST['amount'],
$arrayoptid[$row] = $optid,
$arrayfreq[$row] = $_POST['frequency'],
);
$row ++;
} while ($row_options = mysql_fetch_assoc($options));
$counter = $row - 1;
?>
我有麻煩檢索用戶輸入的信息。我的意圖是在用戶輸入信息後遍歷每一行,然後將我的數據庫信息和用戶信息混合到另一個數據庫中。例如,用戶將看到,儘管更漂亮:
form1
Option 1: description [input box] amount [input box] frequency [option box]
Option 2: description [input box] amount [input box] frequency [option box]
Option 3: description [input box] amount [input box] frequency [option box]
Option 4: description [input box] amount [input box] frequency [option box]
submit
在提交上面的形式中,我使用類似於以下輸入數據到數據庫中的查詢:
for($row=0; $row<=$counter; $row++){
$insertSQL2 = sprintf("INSERT INTO table (option_id, amount, description, frequency) VALUES (%s, %s, %s, %s)",
GetSQLValueString($arrayoptid[$row], "int"),
GetSQLValueString($arrayamto[$row], "int"),
GetSQLValueString($arraydesc[$row], "text"),
GetSQLValueString($arrayfreq[$row], "text"));
// code to submit query
}
我已經嘗試過,foreach,數組(感覺就像我所知道的每件事)將每行(逐行)發佈到數據庫中。我要麼只是得到最後一行數據,要麼根本就沒有數據。我還擔心[$ row]技術正在爲我的數據添加字符。
什麼是檢索用戶輸入的每一行的最佳方法,然後將這些數據(逐行)上傳到數據庫中?此外,我會非常感謝您提出改進我的編碼技術和我正在採取的方法的建議。
嗨Artefacto。感謝您的建議。但是,我似乎無法得到這個工作。你能解釋一下這個功能發生了什麼嗎?這將幫助我更清楚地瞭解代碼的功能。另外,由於這是將新行插入到數據庫中,是否還有其他步驟需要編碼? (數據庫存在,當我有它運行1行,它是成功的)。問題是讓代碼將表單中的所有行更新到數據庫中。 謝謝 Hangston – hangston 2010-05-15 02:41:07
該函數僅用於驗證。它檢查提交的值的正確數量。我已經使用可以使用的示例PHP文件更新POST。 – Artefacto 2010-05-15 03:43:01
謝謝你幫我解決了.. – 2013-02-22 07:03:18