【问题标题】:Filter results in page relating a id-parameter在与 id 参数相关的页面中过滤结果
【发布时间】:2010-01-26 19:39:03
【问题描述】:

我使用 SELECT 从表 tblnavigation 中获取所有行。 这些行是:idnav、idnavcat、prognav、progurl

$rsnav = mysql_query($query_rsnav, $concat) 或死(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 值的数组行。 如何才能做到这一点 ? 感谢您的帮助!

【问题讨论】:

    标签: php mysql


    【解决方案1】:

    我不明白你想要做什么。如果我是对的,你想实现一个代码中断结构。

    首先,您需要按 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)); ?>
    

    但顺便说一句,由于这种编程方式或多或少丑陋,我们应该考虑使用 SMARTY 或任何模板系统来格式化我们的源代码的结果,以便能够快速修改它而不影响很多功能。

    【讨论】:

      猜你喜欢
      • 2022-11-29
      • 2013-01-13
      • 2021-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-14
      相关资源
      最近更新 更多