我有一个显示我的信息的库存页面,我试图有多个基于部门值的表,基本上我想要自己显示表中的每个部门而不是单个表,看起来它会使页面更容易查看,是的我是新的,是的我正在使用mysql,我知道它不赞成等等等等等等,这是一个本地数据库而且我是自学成才的。我是否必须使用某种循环或者是否有更简单的方法?
<?php
$connect = mysql_connect("localhost", "Me", "password") or die ("Check your connection.");
mysql_select_db("radio");
$quey1="select * from inventory order by department, user";
$result=mysql_query($quey1) or die(mysql_error());
?>
<table border=1 cellpadding="10 cellspacing="1 style="background-color:#F0F8FF;" >
<tr>
<th>Serial Number</th>
<th>Model</th>
<th>Department</th>
<th>User</th>
<th>Date</th>
</tr>
<?php
while($row=mysql_fetch_array($result)){
echo "<tr><td>";
echo $row['serialnumber'];
echo "</td><td>";
echo $row['model'];
echo "</td><td>";
echo $row['department'];
echo "</td><td>";
echo $row['user'];
echo "</td><td>";
echo $row['date'];
echo "</td></tr>";
}
echo "</table>";
?>
答案 0 :(得分:1)
<?php
$connect = mysql_connect("localhost", "Me", "password") or die ("Check your connection.");
mysql_select_db("radio");
$quey1="select * from inventory order by department, user";
$result=mysql_query($quey1) or die(mysql_error());
while($row=mysql_fetch_array($result)){
$resultsArr[] = $row;
$departments[] = $row['department'];
}
foreach($departments as $department) { ?>
<table border=1 cellpadding="10 cellspacing="1 style="background-color:#F0F8FF;" >
<tr>
<th>Serial Number</th>
<th>Model</th>
<th>Department</th>
<th>User</th>
<th>Date</th>
</tr>
<?php foreach($resultArr as $value)
if($value['department'] == $department) { ?>
<tr>
<td><?php echo $value['serialnumber']; ?></td>
<td><?php echo $row['model']; ?></td>
<td><?php echo $row['department']; ?></td>
<td><?php echo $row['user']; ?></td>
<td><?php echo $row['date']; ?></td>
</tr>
<?php } ?>
<?php } ?>
尝试一下,告诉我它是否有效。
Romeo Onisim
答案 1 :(得分:0)
你可以在循环中创建整个表。然后检查新部门值何时到来,然后关闭上一个表并打开一个新表。
正因如此,您知道如果不需要,这种混合逻辑会产生复杂性。如果您考虑将所有数据库交互移动到一个部分,在另一个部分中处理数据库查询的结果,将结果输出到另一个部分,您会发现甚至不会发生此问题。这是一个非常基本的MVC概念。