从数据库记录中编写HTML表单

时间:2017-03-20 21:32:24

标签: php html forms

我正在尝试使用PHP编写HTML表单。我一直在项目上执行此操作直到当前功能并遇到一个问题,我有一个带有数量下拉菜单的项目列表。用户将选择所需的每个项目的数量,并将表格发布到下一页,其中可以访问每个项目的选定值。

我之前没有使用<select><option>,据我所知,所有这些下拉菜单都是单独的形式。

通过测试表单,我可以发布表格中最后一项的选项值,但它与任何内容都不匹配。

<?php
require("../functions/DbConnect.php");
$query = "select * from item_set_menu";
$result = mysqli_query($DB,$query);
echo "<form method='POST' action='../html/order.php'>";
echo "<table><th>Item</th><th>Price</th><th>Image</th><th>Add</th>";
while($row = mysqli_fetch_assoc($result)){
    echo "<tr>";
    echo "<td>".$row['set_name']."</td>";
    echo "<td>".$row['set_price']."</td>";
    echo "<td><img id='thumb' src='".$row['set_img']."'></td>";
    echo "<td><select id='drop-menu' name='quantity[]'>
                <option value='0'>0</option>
                <option value='1'>1</option>
                <option value='2'>2</option>
                <option value='3'>3</option>
          </select></td>";
    echo "</tr>";
}echo "</table>";
echo "<center>
            <input type='hidden' value'".$row['set_name']."' name'set_name'>
            <input type='hidden' value'".$row['set_price']."' name'set_price'>
            <input type='hidden' value'quantity[]' name'quantity'>
            <input type='submit' value'order' name'Submit'>
      </center>";
echo "</form>"; 
?>

在这里期待第一项的输出。 表格帖子页面 - &gt;

<?php
require("../functions/DbConnect.php");
$set_name   =$_POST['set_name'];
$set_price  =$_POST['set_price'];
$quantity   =$_POST['quantity'];
echo "<ol>
     <li>".$set_name[0]."</li>
     <li>".$set_price[0]."</li>
     <li>".$quantity[0]."</li>
     <ol>
     ";
?>

1 个答案:

答案 0 :(得分:0)

您的HTML充满了错误,您不应该将它与PHP混合使用。试试这个。值得注意的变化是您的表单元素现在实际上具有name属性,名称包含PHP数组表示法[],并且它们位于循环内而不是外部。但是这段代码仍有很多错误:

<?php
require("../functions/DbConnect.php");
$query = "select * from item_set_menu";
$result = mysqli_query($DB,$query);
while($row = mysqli_fetch_assoc($result)){
    $rows[] = $row;
}
?>

<form method='POST' action='../html/order.php'>
<table><th>Item</th><th>Price</th><th>Image</th><th>Add</th>
<?php foreach ($rows as $row):?>
<tr>
<td><?=$row['set_name']?></td>
<td><?=$row['set_price']?></td>
<td><img id='thumb' src='<?=$row['set_img']?>'></td>
<td><select id='drop-menu' name='quantity[]'>
                <option value='0'>0</option>
                <option value='1'>1</option>
                <option value='2'>2</option>
                <option value='3'>3</option>
          </select>
          <input type='hidden' value='<?=$row['set_name']?>' name='set_name[]'>
          <input type='hidden' value='<?=$row['set_price']?>' name='set_price'>
</td>
</tr>
<?php endforeach;?>
</table>
<center>
            <input type='submit' value='order' name='Submit'>
      </center>
</form> 

注意我已将数据库结果加载到数组中,并使用alternative syntaxshort echo tags将PHP入侵到HTML中。