php與資料庫連線如何實現資料的順序和倒序

楓葉在飄呀發表於2020-11-05

php與資料庫連線如何實現資料的順序和倒序

在這裡插入圖片描述
這邊,我簡單用到了一個a標籤用來傳入order中的值,將order中的值傳到位址列中
在這裡插入圖片描述
當點選倒序或者升序時將order值賦給在php程式碼中定義的order,然後修改sql語句就可以了
詳細程式碼展示:

<?php
   if(isset($_GET['order']))    //判斷order中是否有值
   {
      $order=$_GET['order'];  //如果有值就將當前的值賦給變數$order
   }
   else
       {
        $order="";
       }
$link=mysqli_connect("localhost","root","root");      //連結資料庫
       mysqli_select_db($link,"test");                       
       mysqli_query($link,"set names 'utf8'");                   //設定字符集
       $str = "select * from stu order by Id"." ".$order;
       $result = mysqli_query($link,$str);
        $arr = array();
       while($row = mysqli_fetch_array($result)) {
       	$arr[]=$row;
       }
       mysqli_close($link);
?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style>
		table,td
		{
			border: 1px solid #000;
		}
	</style>
</head>
<body>
      <table cellpadding="1" spacpadding="1">
          
          <tr>
          <th>id</th>
          <th>姓名</th>
          <th>年齡</th>
          <th>專業</th>
          <th>班級</th>
          </tr>
          <?php
          foreach ($arr as $key => $value)
           {
          ?>
          <tr>
          	<td><?php echo $value[0];?></td>
          	<td><?php echo $value[1];?></td>
          	<td><?php echo $value[2];?></td>
          	<td><?php echo $value[3];?></td>
          	<td><?php echo $value[4];?></td>
          </tr>
      <?php }?>
      </table>
     <a href="?order=desc">倒序</a>
        <a href="?order=asc">升序</a>
</body>
</html>

進一步思考,如何實現一個a標籤實現以上兩種方法切換
思路:1.我可以先給a標籤加上一個序列,因為當資料顯示的時候預設的時順序排序,我們可以將其設定一個按照倒序排列的情況
2.當我們點選的時候,order的值就變換成倒序(desc),就這樣不斷的給變數order賦值,他將在desc和asc中不斷地切換。
具體實現:

<?php
    $order="desc";
   if(isset($_GET['order']))
   {
    $order=$_GET['order'];
    if($order=="desc")
      $order="asc"; 
    else
       {
        $order="desc";
       }
   }
  
$link=mysqli_connect("localhost","root","root");      //連結資料庫
       mysqli_select_db($link,"test");                       
       mysqli_query($link,"set names 'utf8'");                   //設定字符集
       $str = "select * from stu order by Id"." ".$order;
       $result = mysqli_query($link,$str);
        $arr = array();
       while($row = mysqli_fetch_array($result)) {
       	$arr[]=$row;
       }
       mysqli_close($link);
?>
<!DOCTYPE html>
<html>
<head>
	<title></title>
	<style>
		table,td
		{
			border: 1px solid #000;
		}
	</style>
</head>
<body>
      <table cellpadding="1" spacpadding="1">
          
          <tr>
          <th>id</th>
          <th>姓名</th>
          <th>年齡</th>
          <th>專業</th>
          <th>班級</th>
          </tr>
          <?php
          foreach ($arr as $key => $value)
           {
          ?>
          <tr>
          	<td><?php echo $value[0];?></td>
          	<td><?php echo $value[1];?></td>
          	<td><?php echo $value[2];?></td>
          	<td><?php echo $value[3];?></td>
          	<td><?php echo $value[4];?></td>
          </tr>
      <?php }?>
      </table>
     <a href="?order=<?php echo $order?>">序列</a>
</body>
</html>

相關文章