使用php或javascript筛选结果
我刚开始使用PHP开发,Smarty使用MySQL。我想就以下问题发表专家意见,或者任何好的建议都可以 所以我制作了一个index.php,它也可以连接到数据库MySQL Smarty,通过查询读取我的数据,并从index.tpl文件中显示它们。对于我的产品,product.php连接到数据库,执行查询,并在product.tpl页面上显示我的产品 对于我的index.php,我想添加一个过滤器,按价格从高到低或从低到高显示产品 你有什么建议: 您建议我使用Javascript作为过滤器,还是仅从数据库中查询它,以确定何时选择了select值 或者怎样做才是最好的有效方法?关于这方面的任何提示都将提前感谢 我的数据库目前只有3种产品,我只是在测试 .php .tpl这是用于显示产品列表的循环使用php或javascript筛选结果,javascript,php,mysql,smarty,Javascript,Php,Mysql,Smarty,我刚开始使用PHP开发,Smarty使用MySQL。我想就以下问题发表专家意见,或者任何好的建议都可以 所以我制作了一个index.php,它也可以连接到数据库MySQL Smarty,通过查询读取我的数据,并从index.tpl文件中显示它们。对于我的产品,product.php连接到数据库,执行查询,并在product.tpl页面上显示我的产品 对于我的index.php,我想添加一个过滤器,按价格从高到低或从低到高显示产品 你有什么建议: 您建议我使用Javascript作为过滤器,还是仅
<form method="get" name="sort">
<select name="sort" id="sort">
<option value=''>--Select--</option>
<option value='PriceAsc'>high to low</option>
<option value='PriceDesc'>low to high</option>
</select>
<input type="submit" value="Sort"/>
</form>
<div class="test divider">
{section name=prod loop=$row}
<div class="colm3">
<div class="col3 r1">
<div class="products-container">
<h5>{$row[prod].product_name}</h5>
<a class="producy_img_link" href="#" >
<img src="{$row[prod].prod_img}" style="width:auto; height:255px;">
</a>
</div>
</div>
<a href="#">
<div class="block-right">
<h6>{$row[prod].product_vintage}</h6>
<h5>{$row[prod].product_veriatel}</h5>
<div>
<span class="price">R {$row[prod].product_price}</span>
</div>
</div>
</a>
</div>
{/section}
</div>
现在,每当我单击“从高到低”时,我希望产品按价格从高到低进行筛选,我认为使用查询是一种简单的方法,但我一直坚持这一点。您可以使用AJAX对表进行排序,给出表头的name属性,单击表头,获得表头的name属性,并对PHP进行AJAX调用
$'th'。单击,函数{
var name=$this.attr'name';
log'AJAX将按:'+name;
//这是AJAX调用
//$.post'somephpgage.php',{sortby:name},函数响应{
//$'table-result'.htmlresponse;
// };
}
名字
姓氏
年龄
吉尔
史密斯
50
前夕
杰克逊
94
您可以在php中为每个过滤器向上/向下事件执行一个查询usnig order by price DESC/ASCIn认为使用数据库进行适当的查询。。例如,在数据库上构建一个用于搜索的php函数是更好的方法。最好的解决方案是使用AJAX或使用这个jQuery库。如果您获得了大量数据,我认为向php发送一个AJAX请求来查询数据库并为您排序应该会更快、更有效。通过JavaScript进行排序也是可能的,但请记住JavaScript是在客户端pc上运行的,因此如果排序非常慢,也会占用时间,甚至占用太多ram。您还必须将所有数据发送到客户端,并让mysql处理。这正是我等待的答案,谢谢@TobiasF,因此,在php中使用AJAX函数将是最好的方法,因为JQuery将非常缓慢,特别是如果我有allot的产品,感谢您的伟大回答,用几句话解释allot!谢谢你给我的其他建议。哇,谢谢,我正在尝试这个@julekgwa的例子。我会试试这个!谢谢如果它能工作,我会回来的。我在这里注释掉了AJAX,因为PHP不能运行,所以,删除你这边的注释。哦,哈哈,我很困惑,很酷,谢谢你,到了那里!我也来自南非开普敦,顺便说一句@julekgwaquick问,我正在阅读关于json、js、php、AJAX的文章,我只是想知道,使用js加载客户端是否更好?还是使用服务器端的AJAX更好,这让我很困惑我不认为每次为查询建立db连接是好的,但是使用json可以解决这个问题,但现在我只使用php、js、AJAX和Smarty。。
<form method="get" name="sort">
<select name="sort" id="sort">
<option value=''>--Select--</option>
<option value='PriceAsc'>high to low</option>
<option value='PriceDesc'>low to high</option>
</select>
<input type="submit" value="Sort"/>
</form>
<div class="test divider">
{section name=prod loop=$row}
<div class="colm3">
<div class="col3 r1">
<div class="products-container">
<h5>{$row[prod].product_name}</h5>
<a class="producy_img_link" href="#" >
<img src="{$row[prod].prod_img}" style="width:auto; height:255px;">
</a>
</div>
</div>
<a href="#">
<div class="block-right">
<h6>{$row[prod].product_vintage}</h6>
<h5>{$row[prod].product_veriatel}</h5>
<div>
<span class="price">R {$row[prod].product_price}</span>
</div>
</div>
</a>
</div>
{/section}
</div>