我需要使用PHP代码从数据库中显示一个表。我在PHP中的while循环之后放置的提交按钮显示在结果表显示之前 这是我的代码......
<?php
echo '<form action="" id="todaymenu" method="post" onSubmit="setData()">';
include("config.php");
session_start();
$sql="select * from menu";
$result=mysqli_query($conn,$sql);
if (!$result) {
die("Query to show fields from table failed");
}
$fields_num = mysqli_num_fields($result);
echo "<table><tr>";
// printing table rows
while($row = mysqli_fetch_array($result))
{
//echo $row['image'];
echo "<td>";
echo '<img src="'.$row['image'].'" alt="" style="width: 300px; height: 300px;"" />';
echo "</td>";
echo "<td>";
echo $row['name'];
echo "</td>";
echo "<td>";
echo $row['description'];
echo "</td>";
echo "<td>";
echo $row['price'];
echo "</td>";
echo "<td>";
echo "<select name=\"quantity\" required> <option value=\"0\"> 0 </option> <option value=\"1\"> 1 </option> <option value=\"2\"> 2 </option> <option value=\"3\"> 3 </option> <option value=\"4\"> 4 </option> <option value=\"5\"> 5 </option> <option value=\"6\"> 6 </option> /select>";
echo "</td>";
echo "</tr>";
}
echo '<button type="submit" onclick="window.location.href=\'placeorder.php\'" class="placeorder"><i class="fa fa-shopping-cart fa-lg"></i> Place Order</button>';
mysqli_close($conn);
echo '<a href="#menu-toggle" class="btn btn-default" id="menu- toggle">Toggle Menu</a> </form>';
?>
答案 0 :(得分:0)
确保您的PHP输出的HTML有效。看起来您的结构已关闭,您缺少一些开始和结束标记。
确保使用 启动表格并以 结束,否则浏览器可能会错误地解释显示。
答案 1 :(得分:0)
对代码进行这些更改,它应该可以正常工作!
echo '<table>';
// printing table rows
while($row = mysqli_fetch_array($result))
{
//echo $row['image'];
echo '<tr>';
echo "<td>";
echo '<img src="'.$row['image'].'" alt="" style="width:300px; height: 300px" />';
echo "</td>";
echo "<td>";
echo $row['name'];
echo "</td>";
echo "<td>";
echo $row['description'];
echo "</td>";
echo "<td>";
echo $row['price'];
echo "</td>";
echo "<td>";
echo '<select name="quantity" required> <option value="0"> 0 </option> <option value="1"> 1 </option> <option value="2"> 2 </option> <option value="3"> 3 </option> <option value="4"> 4 </option> <option value="5"> 5 </option> <option value="6"> 6 </option> </select>';
echo "</td>";
echo "</tr>";
}
echo '</table>';
echo '<button type="submit" onclick="window.location.href=\"placeorder.php\"" class="placeorder"><i class="fa fa-shopping-cart fa-lg"></i> Place Order</button>';
echo '<a href="#menu-toggle" class="btn btn-default" id="menu-toggle">Toggle Menu</a> </form>';
mysqli_close($conn);
答案 2 :(得分:0)
您可以使用替代语法使输出更容易。您还错过了标记中的一些标记。尝试这样的事情:
<?php
include("config.php");
session_start();
$sql="select * from menu";
$result=mysqli_query($conn,$sql);
if (!$result) {
die("Query to show fields from table failed");
}
$fields_num = mysqli_num_fields($result);
?>
<form action="" id="todaymenu" method="post" onSubmit="setData()">
<table>
<?php while($row = mysqli_fetch_array($result)): ?>
<tr>
<td><img src="'.$row['image'].'" alt="" style="width: 300px; height: 300px;" /></td>
<td><?= $row['name']; ?></td>
<td><?= $row['description']; ?></td>
<td><?= $row['price']; ?></td>
<td>
<select name="quantity" required>
<option value="0"> 0 </option>
<option value="1"> 1 </option>
<option value="2"> 2 </option>
<option value="3"> 3 </option>
<option value="4"> 4 </option>
<option value="5"> 5 </option>
<option value="6"> 6 </option>
</select>
</td>
</tr>
<?php endwhile; ?>
</table>
<button type="submit" onclick="window.location.href='placeorder.php'" class="placeorder">
<i class="fa fa-shopping-cart fa-lg"></i> Place Order
</button>
<?php mysqli_close($conn); ?>
<a href="#menu-toggle" class="btn btn-default" id="menu-toggle">Toggle Menu</a>
</form>