Php 下一次迭代
我这里有一些显示问题 我有一个“backend.php”文件,其中我要求两个输入。 这些输入由“Addproducts.php”文件处理,该文件重定向到backend.php php还显示数据库中的当前记录 下面是backend.php的代码Php 下一次迭代,php,Php,我这里有一些显示问题 我有一个“backend.php”文件,其中我要求两个输入。 这些输入由“Addproducts.php”文件处理,该文件重定向到backend.php php还显示数据库中的当前记录 下面是backend.php的代码 <html> <head> <title>Inventory - Backend</title> </head> <body> <form action="addproduc
<html>
<head>
<title>Inventory - Backend</title>
</head>
<body>
<form action="addproducts.php" method="post">
<table>
<tr>
<td>Product Name : </td>
<td><input type="text" name="pname"/></td>
</tr>
<tr>
<td>Product Quantity : </td>
<td><input type="text" name="productq"/></td>
</tr>
<tr>
<td></td>
</tr>
<tr>
<td><input type="submit" name="Add Product"/></td>
</tr>
</table>
</form>
<h2>Current Products</h2>
<?php
$db = mysql_connect('127.0.0.1', 'root', '') or die ('Unable to Connect.Check your connection parameters');
mysql_select_db('stock_inventory', $db) or die (mysql_error($db));
$query = 'SELECT * FROM PRODUCTS';
$result = mysql_query($query, $db) or die (mysql_error($db));
echo '<table>';
echo '<tr>';
echo '<th>Product ID </th>';
echo '<th>Producr Name </th>';
echo '<th>Product Stock </th>';
echo '</tr>';
while($row = mysql_fetch_assoc($result))
{
if(mysql_num_rows($result) > 0)
{
echo '<tr>';
echo '<td>' . $row['product_id'] . '</td>';
echo '<td>' . $row['product_name'] . '</td>';
echo '<td>' . $row['product_stock'] . '</td>';
echo '</tr>';
echo '<br/>';
echo '</table>';
}
else
{
echo "No products in the database";
}
}
?>
</body>
</html>
看到了吗?
只有第一个产品对齐,其余的不对齐
如何使它们对齐
谢谢。我建议删除
从你的桌子里面。我相信在表标记中放置类似换行符的标记会破坏布局 原因是您要关闭循环中的
表
标记,请将其移出循环,如下所示:
while($row = mysql_fetch_assoc($result))
{
if(mysql_num_rows($result) > 0)
{
echo '<tr>';
echo '<td>' . $row['product_id'] . '</td>';
echo '<td>' . $row['product_name'] . '</td>';
echo '<td>' . $row['product_stock'] . '</td>';
echo '</tr>';
}
else
{
echo "No products in the database";
}
}
echo '<br/>';
echo '</table>';
while($row=mysql\u fetch\u assoc($result))
{
如果(mysql_num_rows($result)>0)
{
回声';
回显'.$row['product_id'].';
回显'.$row['product_name'].';
回显'.$row['product_stock'].';
回声';
}
其他的
{
echo“数据库中没有产品”;
}
}
回声“
”;
回声';
更新:一个更好的解决方案(见下面Barmar的评论):
if(空(mysql\u num\u行($result))){
echo“数据库中没有产品”;
}否则{
while($row=mysql\u fetch\u assoc($result)){
回声';
回显'.$row['product_id'].';
回显'.$row['product_name'].';
回显'.$row['product_stock'].';
回声';
}
}
回声';
同时开始研究使用
mysqli
()或PDO
(),mysql\uu
已被弃用 我编辑了问题,使输出显示为代码块;但是,我不知道它是否正确显示了错误。请在循环外关闭表。而且mysql\u num\u行
检查不属于循环。@Barmar,true。我想我添加了一个更好的修复:)
while($row = mysql_fetch_assoc($result))
{
if(mysql_num_rows($result) > 0)
{
echo '<tr>';
echo '<td>' . $row['product_id'] . '</td>';
echo '<td>' . $row['product_name'] . '</td>';
echo '<td>' . $row['product_stock'] . '</td>';
echo '</tr>';
}
else
{
echo "No products in the database";
}
}
echo '<br/>';
echo '</table>';
if (empty(mysql_num_row($result))) {
echo "<tr><td colspan='3'>No products in the database</td></tr>";
} else {
while($row = mysql_fetch_assoc($result)) {
echo '<tr>';
echo '<td>' . $row['product_id'] . '</td>';
echo '<td>' . $row['product_name'] . '</td>';
echo '<td>' . $row['product_stock'] . '</td>';
echo '</tr>';
}
}
echo '</table>';