基本上,我使用HTML表单和PHP连接到MySQL数据库,并且我希望用户能够选择在实际返回结果之前如何从下拉菜单中对结果进行排序。通过HTML表单和PHP对表格进行排序?
这里是我的形式:
View the complete list of books as sorted by:
Book Title
Author
这是我的PHP:
echo '
Book Name | Author |
require ('mysqli_connect.php');
$sort = (isset($_GET['sortby'])) ? $_GET['sortby'] : 'books';
switch($sort) {
case 'book_name':
$order_by = 'book_name ASC';
break;
case 'author':
$order_by = 'author ASC';
break;
default:
$order_by = 'book_name ASC';
$sort = 'books';
break;
}
$q = "SELECT (book_name) AS name, (author) AS author, (publisher) AS publisher FROM books ORDER BY $order_by";
$r = @mysqli_query ($dbc, $q);
if ($r) {
echo '
Book Name |
while ($row = mysqli_fetch_array($r, MYSQLI_ASSOC))
{echo '
' . $row['name'] . '' . $row['author'] . '' . $row['publisher'] . '';}
echo '
';mysqli_free_result($r);
} else {
echo 'The current books could not be retrieved.';
echo '
' . mysqli_error($dbc) . '
Query: ' . $q . '
}
?>
我认为,因为我命名的HTML形式“sortby”我的PHP将获取的选择值值并将其插入“sortby”,但每当我尝试通过表单访问返回时,它总是只使用切换条件中的默认情况?有人能告诉我我做错了什么吗?