2010-10-16 106 views
0

我在瀏覽表單輸入文本字段時出現問題。我試圖循環顯示標有'號碼'的多個文本字段,它只提交最後一個號碼字段,而不是所有'號碼'字段。任何人都可以看到我在這裏做錯了嗎?循環顯示輸入表單問題

for ($i = 0; $i < count($_POST['number']); $i++) { 
     $sql='INSERT INTO orders (custNum,contractNum,equipId,prodNum) 
       VALUES (' 
      . "'" . mysql_real_escape_string($_SESSION['custNum']) . "', " 
     . "'" . mysql_real_escape_string($_POST['contractNum']) . "', " 
     . "'" . mysql_real_escape_string($_POST['equipId']) . "', " 
      . "'" . mysql_real_escape_string($_POST['number'][$i]) . "'" 


      . ')'; 
    } 


<?php 
$i=0; 
while ($i < $num) { 

$p1=mysql_result($paper_result,$i,"tp"); 
$p2=mysql_result($paper_result,$i,"prodNum"); 
$p3=mysql_result($paper_result,$i,"paperDesc"); 

?> 

    <tr> 
    <td><select name="quant[]"> 
    <option value="0">None</option> 
     <option value="2">2</option> 
     <option value="2">4</option> 
     <option value="2">6</option> 
     <option value="2">8</option> 
     <option value="2">10</option> 
     <option value="2">12</option> 
     <option value="2">14</option> 
     <option value="2">16</option> 
     <option value="2">18</option> 
     <option value="2">20</option> 
    </select></td> 
    <td><?php echo $p1; ?></td> 
    <td><input type="text" name="number[]" value="<?php echo addslashes($p2); ?>"> </td> 
    <td><?php echo $p3; ?></td> 
    </tr> 
    <?php 
$i++; 
} 
?> 
+0

您遺漏了實際將數據插入數據庫的代碼部分,但沒有看到完整的代碼,因此很難說出問題出在哪裏。 – 2010-10-16 20:46:08

+1

我想看看'print_r($ _ POST ['number'])的輸出;'你是否100%確定你正在接收數組? (只是爲了驗證) – pleasedontbelong 2010-10-16 21:08:38

回答

0

您從不調用mysql_query()來實際執行插入操作。你需要在for循環結束時(循環內部)調用它。

+0

哇,我花了5個多小時在這個上,而忽略了這麼簡單的事情。非常感謝你tandu !!! – cam 2010-10-16 23:24:40