首页 > 解决方案 > 按下按钮时在网页中重新排序 SQL 结果

问题描述

默认情况下,我目前让我的代码按日期对 SQL 结果进行排序,但我想让用户也能够按其他值排序。我尝试使用按钮来保存 PHP 变量并在按下时调用查询,但它从未真正调用查询。我正在尝试使用“sidenav”栏中的按钮重新排序。

<!DOCTYPE html>
<html>
<head>
    <title>Main Board</title>
    <link rel="stylesheet" type="text/css" href="http://www.project485.ca/styles.css">
    <link rel="stylesheet" href="https://www.w3schools.com/w3css/4/w3.css">
</head>
<body>


<div class="navbar">
    <a href="index.php" class="active">Home</a>
    <a href="">Create Event</a>
    <a href="form.php" style="float:right">Login</a>
    <a href="" style="float:right">Admin Panel</a>
</div>

<div class="sidenav">
    <h3 style="color:white; margin-left:20px; font-size:30px">Order By:</h3>
    <div class="snButt">
        <a><button class="snButt" onclick="<?php $sql = "SELECT * FROM Confirmed ORDER BY DATE"; $result = mysqli_query($conn,$sql);?>">Date</button></a>
        <a><button class="snButt" onclick="<?php $sql = "SELECT * FROM Confirmed ORDER BY DEPARTMENT";?> console.log("dep clicked")">Department</button></a>
        <a><button class="snButt" onclick="<?php $sort = 'FEE' ?>">Cost</button></a>
    </div>
</div>

<div class="cards">
    <?php
    $dbhost = 'localhost';
    $dbuser = 'p485';
    $dbpass = 'project485';
    $dbname = '485_main';

    $sql = "SELECT * FROM Confirmed ORDER BY FEE DESC";

    $conn = mysqli_connect($dbhost,$dbuser,$dbpass,$dbname);
    if(! $conn ) {
        die('Could not connect: ' . mysqli_connect_error());
    }
    $result = mysqli_query($conn,$sql);
    while($row = mysqli_fetch_assoc($result)) {
    ?>
        <div class="w3-card" style="width:30%;">
            <header class="w3-container">
                <h1><?php echo $row['TITLE']?></h1>
            </header>
            <div class="w3-container">
                <p>Date: <?php echo $row['DATE']?></p>
                <p>Description: <?php echo $row['DESCRIPTION']?></p>
                <p>Location: <?php echo $row['LOCATION']?></p>
                <p>Department: <?php echo $row['DEPARTMENT']?></p>
                <p>Fee: <?php echo $row['FEE']?></p>
            </div>
        </div>
    <?php
    }
    ?>
</div>    



</body>
</html> 

标签: phphtmlmysql

解决方案


推荐阅读