如何使用PHP将SQL Select语句链接到HTML按钮

如何使用PHP将SQL Select语句链接到HTML按钮,php,html,mysql,database,phpmyadmin,Php,Html,Mysql,Database,Phpmyadmin,我已经使用PHP连接到MySQL数据库。数据库是关于书籍的,它有不同的列,如ID、标题、作者和价格。我现在尝试创建“查看表格”、“按标题查看”和“按作者查看”链接,以便用户可以使用这些链接分别查看我表格的内容 我已经创建了三个按钮,但现在我不知道如何让它们分别显示列。下面是我的php代码: <!DOCTYPE html> <html> <head> <title>Books</title> <link re

我已经使用PHP连接到MySQL数据库。数据库是关于书籍的,它有不同的列,如ID、标题、作者和价格。我现在尝试创建“查看表格”、“按标题查看”和“按作者查看”链接,以便用户可以使用这些链接分别查看我表格的内容

我已经创建了三个按钮,但现在我不知道如何让它们分别显示列。下面是我的php代码:

    <!DOCTYPE html>
<html>
<head>
    <title>Books</title>
    <link rel="stylesheet" type="text/css" href="bookstyle.css">
</head>
<body>
<button>View Table</button>
<button>View by Title</button>
<button>View by Author</button>

<table>
    <tr>
        <th>Id</th>
        <th>Title</th>
        <th>Author</th>
        <th>Price</th>
    </tr>
<?php
$conn = mysqli_connect("localhost", "root", "", "my_book_collection");

// Check connection, if failed show error
if ($conn-> connect_error) {
    die("Connection failed:". $conn-> connect_error);
}
$sql = "SELECT id, title, author, price from books";
$result = $conn -> query($sql);

if ($result -> num_rows > 0){
// Output data for each row
    while ($row = $result -> fetch_assoc()){
        echo "<tr><td>". $row["id"]. "</td><td>". $row["title"]. "</td><td>". $row["author"]. "</td><td>". $row["price"]. "</td></tr>";
    }
echo "</table>";
}
else {
    echo "0 results";
}$conn-> close();
?>

</table>
</body>
</html>

书
视图表
按标题查看
作者观点
身份证件
标题
作者
价格

您需要告诉SQL语句按哪个列排序。您可以通过链接传递此信息。乙二醇

然后在SQL中更改为

“从图书订购人处选择id、标题、作者、价格”。$\u获取['ORDER']。'ASC'

但在实现之前,请仔细阅读SQL注入攻击,并修改代码以控制传递给SQL的值

以下是基本内容:

if ($_GET['order'] == 'author') $order = 'author';
if ($_GET['title'] == 'title') $order = 'title';
etc.
变量只是需要一些卫生设施

然后将SQL语句更改为:

'SELECT id, title, author, price FROM books ORDER BY '.$order.' ASC'

我自己想出来的。这可能不是最好的方法,但我所做的是创建了两个独立的.php文件,一个用于作者,一个用于标题。我删除了与作者或标题无关的代码(例如:id和price)。所以基本上,我只是为每个表创建了一个新表,然后分别创建了访问每个表的链接。每个.php文件都有3个链接“查看表”“查看作者”“查看标题”

对不起,我还是很困惑。“那么在您的SQL中更改为”是什么意思?我使用的只是一个php文件。你是说在phpMyAdmin?另外,我将阅读有关SQL注入的内容,谢谢:)更改您的SQL语句。当我将其更改为您提供的语句时,会出现此错误。。。“解析错误:语法错误,意外的“”(T_封装的_和_空格),应为“-”或标识符(T_字符串)或变量(T_变量)或数字(T_NUM_字符串)”啊,对不起,GET变量需要在引号中
选择id、标题、作者、图书订单价格由'$\u GET['ORDER']ASC
感谢您的帮助,但是我想出了一个不同的方法来完成它。祝福像你这样的人花时间帮忙:)这是一种可怕的方式!