我使用SELECT来获取表tblnavigation中的所有行。 行是:idnav,idnavcat,prognav,progurl
$ rsnav = mysql_query($ query_rsnav,$ concat)或die(mysql_error()); $ row_rsnav = mysql_fetch_assoc($ rsnav);
idnavcat代表导航类别。现在我想过滤那个“idnavcat”;并在表格中显示每个类别的结果。
<?php do { ?>
<tr>
<td width="10%"><div align="center"><?php echo $row_rsnav['idnav']; ?></div></td>
<td width="70%"><?php echo $row_rsnav['navprog']; ?></td>
<td width="11%"><a href="nav_adj.php?id=<?php echo $row_rsnav['idnav']; ?>"><img src="images/edit.png" alt="" width="32" height="32" border="0" /></a></td>
<td width="8%"><p><a href="nav_del.php?id=<?php echo $row_rsnav['idnav']; ?>"><img src="images/delete.png" alt="" width="32" height="32" /></a></p> </td>
</tr>
<?php } while ($row_rsnav = mysql_fetch_assoc($rsnav)); ?>
我知道有多种选择可能;但我知道它慢了。 与“同时做”有关吗?还是阵列?不确定;新来的! : - )
我走到一个阵列;并通过foreach循环读出来。
while ($row_rsprog = mysql_fetch_array($rsprog)) {
$data[$row_rsprog['idprog']] = array(
'idprog' => $row_rsprog['idprog'],
'progtitel' => $row_rsprog['progtitel'],
'idnavcat' => $row_rsprog['idnavcat']
);
}
我用以下内容阅读:
foreach ($data as $id => $va){
echo 'blablabla';
}
但它读取整个数组。 我只想显示具有特定idnavcat值的arraylines。 如何才能做到这一点 ? 谢谢你的帮助!
答案 0 :(得分:0)
我不确切地知道你想做什么。如果我是对的,你想要实现一个代码中断结构。
首先,您需要通过idnavcat对查询进行排序,并尝试执行如下代码:
<?php
[...]
$query = "SELECT * FROM tblnavigation ORDER BY idnavcat;";
[...] // you execute the query here and do the rest of the stuff
// fetch the row
$row_rsnav = mysql_fetch_assoc($rsnav);
// stablish a default current category to force headers to be written
$current_category = -1;
do {
if ($current_category != $row_rsnav['idnavcat'])
{
$current_category = $row_rsnav['idnavcat'];
// print headers (for example)
?>
<tr>
<td width="10%">ID NAV</td>
<td width="70%">NAV PROG</td>
<td width="19%" colspan="2">CATEGORY: <?php echo $current_category ?></td>
</tr>
<?
}
?>
<tr>
<td width="10%"><div align="center"><?php echo $row_rsnav['idnav']; ?></div></td>
<td width="70%"><?php echo $row_rsnav['navprog']; ?></td>
<td width="11%"><a href="nav_adj.php?id=<?php echo $row_rsnav['idnav']; ?>"><img src="images/edit.png" alt="" width="32" height="32" border="0" /></a></td>
<td width="8%"><p><a href="nav_del.php?id=<?php echo $row_rsnav['idnav']; ?>"><img src="images/delete.png" alt="" width="32" height="32" /></a></p></td>
</tr>
<?php } while ($row_rsnav = mysql_fetch_assoc($rsnav)); ?>
但是BTW,因为这种编程方式或多或少是丑陋的,我们应该考虑使用SMARTY或任何模板系统来格式化源代码的结果,以便能够快速修改它而不会影响很多功能。