用于按筛选器排序的php mysql select语句不起作用
更新 我一直在尝试测试一些排序过滤器,以便在我的lamp web应用程序中添加到我的产品页面 使用mysqli请求动态加载商店页面中的所有产品子类别。但是,我想添加排序功能,以方便客户使用 页面正在加载,如下所示: 我没有收到任何解析错误 非常感谢您的帮助。我是初学者用于按筛选器排序的php mysql select语句不起作用,php,mysql,mysqli,Php,Mysql,Mysqli,更新 我一直在尝试测试一些排序过滤器,以便在我的lamp web应用程序中添加到我的产品页面 使用mysqli请求动态加载商店页面中的所有产品子类别。但是,我想添加排序功能,以方便客户使用 页面正在加载,如下所示: 我没有收到任何解析错误 非常感谢您的帮助。我是初学者 <?php include_once 'includes/dbconnect.php'; include_once 'includes/functions.php'; include_once 'includ
<?php
include_once 'includes/dbconnect.php';
include_once 'includes/functions.php';
include_once 'includes/header.php';
?>
<?php
if (isset($_GET['asc']))
$result = $mysqli->query("SELECT id, product_code, product_name, product_desc, product_img_name, subcategory, price FROM products_coaliment_via_laietana WHERE subcategory = 'Bread' ORDER BY price ASC");
else
$result = $mysqli->query("SELECT id, product_code, product_name, product_desc, product_img_name, subcategory, price FROM products_coaliment_via_laietana WHERE subcategory = 'Bread' ORDER BY price DESC");
if (!$result)
die("Failed to show queries from table");
if(mysqli_num_rows($result) > 0) {
$products_item = '<div class="product-category-wrapper">';
//fetch results set as object and output HTML
while($row = mysqli_fetch_assoc($result)) {
$products_item .= <<<EOT
<div class="custom-product-column">
<div class="product-wrapper">
<div class="product-image">
<img src="{$obj->product_img_name}" alt={$obj->product_name}">
</div>
<div class="product-price">
<p>{$currency}{$obj->price}</p>
</div>
<div class="product-title">
<h4>{$obj->product_name}</h4>
{$obj->product_desc}
</div>
<div class="basketControls">
<ngcart-addtocart id="{$obj->id}" name="{$obj->product_name}" price="{$obj->price}" quantity="1" quantity-max="10">Add to Cart</ngcart-addtocart>
</div>
</div>
</div>
EOT;
}
$products_item .= '</div>';
echo $products_item;
}
?>
<form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<button type="submit" id="asc" name="asc" value="asc">ASC</button>
<button type="submit" id="asc" name="desc" value="desc">DESC</button>
</form>
您需要在name
fieldname周围加上反勾,因为“name”在MySQL中是一个保留字:
SELECT * FROM products_nonstop24 ORDER BY `name` ASC
如果可以,你应该这样做。已在PHP7中删除。了解使用PDO的语句,并考虑使用PDO,不客气。您的代码在多个方面失败。对于您的mysql版本:请参考以下链接并将其应用于您的代码。对于您的mysqli和-您将看到什么没有发生,什么是错误。echo mysql_error()代码>出现语法错误消息。它还应该指定发生错误的文件和行号。看看那一行(可能还有它前面的几行),你应该能够发现错误。“name”不是MySQL的“保留字”,而是“关键字”(两种不同的动物)——这不是问题所在。再次查看他们的代码,并进行“仔细梳理”。你会知道怎么了。我发现了三件事。编辑:4.感谢您指出这一点,这实际上是我在为我的模式制作演示时的一个疏忽。我的列名实际上是产品名,已经做了必要的编辑。再次感谢!