php - 如何对表格进行排序和搜索

标签 php mysql

我是这种语言的新手,我不知道如何制作它。 所以在这里我有这样的脚本:

<?php
include_once "library/inc.sesadmin.php";
include_once "library/inc.library.php";

$row = 20;
$hal = isset($_GET['hal']) ? $_GET['hal'] : 0;
$pageSql = "SELECT * FROM kategori";
$pageQry = mysql_query($pageSql, $koneksidb) or die ("error paging: ".mysql_error());
$jml     = mysql_num_rows($pageQry);
$max     = ceil($jml/$row);
?>
<table width="700" border="0" cellpadding="2" cellspacing="1" class="table-border">
  <tr>
    <td colspan="2" align="right"><h1><b>DATA KATEGORI</b></h1></td>
  </tr>
  <tr>
    <td colspan="2"><a href="?page=Add-Kategori" target="_self"><img src="images/btn_add_data2.png" height="25" border="0" /></a></td>
  </tr>
  <tr>
    <td colspan="2">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="2"><table class="table-list" width="100%" border="0" cellspacing="1" cellpadding="2">
      <tr>
        <th width="32" align="center"><b>No</b></th>
        <th width="93" align="center"><b>Kode</b></th>
        <th width="444"><b>Nama Kategori </b></th>
        <th width="93" align="center"><b>Jumlah Barang</b> </th>
        <td width="47" align="center" bgcolor="#CCCCCC"><b>Ubah</b></td>
        <td width="52" align="center" bgcolor="#CCCCCC"><b>Hapus</b></td>
      </tr>
      <?php
    $kategoriSql = "SELECT kategori.*, (SELECT COUNT(*) FROM barang WHERE barang.kd_kategori=kategori.kd_kategori) As qty_barang
                    FROM kategori ORDER BY kd_kategori ASC LIMIT $hal, $row";
    $kategoriQry = mysql_query($kategoriSql, $koneksidb)  or die ("Query kategori salah : ".mysql_error());
    $nomor  = 0; 
    while ($kategoriRow = mysql_fetch_array($kategoriQry)) {
    $nomor++;
    $Kode = $kategoriRow['kd_kategori'];
    ?>
      <tr>
        <td align="center"><b><?php echo $nomor; ?></b></td>
        <td align="center"><b><?php echo $kategoriRow['kd_kategori']; ?></b></td>
        <td><?php echo $kategoriRow['nm_kategori']; ?></td>
        <td align="center"><?php echo $kategoriRow['qty_barang']; ?></td>
        <td align="center"><a href="?page=Edit-Kategori&amp;Kode=<?php echo $Kode; ?>" target="_self" alt="Edit Data"><img src="images/btn_edit.png" width="20" height="20" border="0" /></a></td>
        <td align="center"><a href="?page=Delete-Kategori&amp;Kode=<?php echo $Kode; ?>" target="_self" alt="Delete Data" onclick="return confirm('ANDA YAKIN AKAN MENGHAPUS DATA PENTING INI ... ?')"><img src="images/btn_delete.png" width="20" height="20"  border="0"  alt="Delete Data" /></a></td>
      </tr>
      <?php } ?>
    </table></td>
  </tr>
  <tr>
    <td><b>Jumlah Data :</b> <?php echo $jml; ?> </td>
    <td align="right"><b>Halaman ke :</b> 
    <?php
    for ($h = 1; $h <= $max; $h++) {
        $list[$h] = $row * $h - $row;
        echo " <a href='?page=Data-Kategori&hal=$list[$h]'>$h</a> ";
    }
    ?>
    </td>
  </tr>
</table>

我想在这个表上进行表排序和搜索,但我不知道如何做。 谁能帮助我完成这个简单的项目? 我真的很感谢你在这里提供的大力帮助..

最佳答案

我不会给你确切的代码,因为这不是我们在 SO 中做事的方式, 不过,我将与您分享如何实现它的主要想法。

为每一列添加一个链接,例如:

<td><a href='?orderby=id'>ID</a></td>
<td><a href='?orderby=name'>Name</a></td>

idname 是表中的字段时(SQL 和 html)。

在查询之前,检查 orderby 是否存在合法值 ($_GET['orderby']) 如果是这样,请将其添加到查询中的 ORDER BY ... 中。

请注意,您使用的是不安全的mysql_*(尤其是在这种情况下), 考虑使用 mysqli_*PDO (你可以用 google 搜索)

编辑 您可以将 &direction= 添加到列的链接以设置方向 (DESC/ASC)

关于php - 如何对表格进行排序和搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18828451/

相关文章:

javascript - 如何打印特定 AJAX 函数中可用的 $_REQUEST?

php - Laravel 5 - 根据需要验证数组,但允许传递空数组

php - 使用 echo php 数组包含 mysql 行时没有响应

php - mysqli_query()至少需要2个参数,给定1个

PHP cron 脚本每分钟触发一次以上

php - Mysqli 在多个字段中搜索值

php - 我的mysql表结构应该如何?

php - 需要澄清 : Yii2, MySQL 过程和临时表

mysql - EER 和 UML 之间的差异

php - 一个数字占另一个数字的百分比