我試圖將SELECT查詢的結果作爲隱藏的輸入元素傳遞給表單。實際上,我正在爲結果中的每一行創建一個表單。PHP:傳遞表格行作爲隱藏元素的形式
我知道可能會傳遞一個隱藏的數組在表單中,所以我認爲它也應該傳遞一行表。
這是代碼片段處理它:
$res = $conn->query($query);
while($row = $res->fetch()) {
echo '<form action="action.php" method="post">';
foreach ($row as $element) {
echo '<input type="hidden" name="row[]" value="'.$element.'">';
}
echo '<input type="submit" name="delete" value="Delete">';
echo "</form>";
}
現在,action.php的腳本只是打印接收到行:
<?php
echo "<pre>"; print_r($_POST['row']); echo "</pre>";
?>
在MySQL中查詢的結果是
+--------+-------------+-----------+----------+------------+
| numero | id_producto | id_tienda | cantidad | f_pedido |
+--------+-------------+-----------+----------+------------+
| 7 | IXUS115HSAZ | 3 | 2 | 2015-10-01 |
+--------+-------------+-----------+----------+------------+
1 row in set (0.01 sec)
但在action.php的該行的print_r雙打各個領域:
Array
(
[0] => 7
[1] => 7
[2] => IXUS115HSAZ
[3] => IXUS115HSAZ
[4] => 3
[5] => 3
[6] => 2
[7] => 2
[8] => 2015-10-01
[9] => 2015-10-01
)
我的錯誤必須明顯,但我找不到它在哪裏。
關鍵是'PDO :: FETCH_ASSOC' –
默認情況下,你可以看一下這個(http://php.net/manual/en/mysqli-result.fetch-array.php)你同時提取數字和關聯 – cmorrissey
是否有在動作腳本中獲取assoc數組索引作爲名字的一種方法?儘管我現在使用fetch(PDO :: FETCH_ASSOC),print_r()只顯示數字索引。 – rodrunner