我想用php&;中的分页保存下拉列表中的排序结果;mysql
大家好:我有一个问题,我的网站是他们的工作。我在一个解决方案上搜索了5天,但我找不到任何我需要的结果 简而言之:我有一个汽车列表,我想按价格降序和升序对它进行排序使用下拉列表,我使用分页将记录拆分为一页中的5项 例如,当我从下拉列表中选择降序时,它会显示成功的结果,但当我转到分页排序的下一页时,它会丢失 我正在尝试使用会话,但尚未工作,当我按下下一页时,仍然会丢失排序 我确实在第一次重播后修改了代码更新,但问题仍然存在:( 这是我的html代码:我想用php&;中的分页保存下拉列表中的排序结果;mysql,php,mysql,html,sorting,Php,Mysql,Html,Sorting,大家好:我有一个问题,我的网站是他们的工作。我在一个解决方案上搜索了5天,但我找不到任何我需要的结果 简而言之:我有一个汽车列表,我想按价格降序和升序对它进行排序使用下拉列表,我使用分页将记录拆分为一页中的5项 例如,当我从下拉列表中选择降序时,它会显示成功的结果,但当我转到分页排序的下一页时,它会丢失 我正在尝试使用会话,但尚未工作,当我按下下一页时,仍然会丢失排序 我确实在第一次重播后修改了代码更新,但问题仍然存在:( 这是我的html代码: <?php session_start(
<?php session_start();?>
<select name="price" id="price" class="css-dropdowns" tabindex="1" >
<option value="0">Price Ascending</option>
<option value="1">Ascending</option>
<option value="2">Descending</option>
</select>
这是显示数据和排序的查询:
$sql_paging="select c.car_id,car_name,price,model_year,drive_traine,mile_age,exterior_color,interior_color,mbg,stocke_num,vin_num,video_url,image,body_style,cylinders_num,displacement,gearbox_speed,gearbox_type,brand_name
from car as c join car_body as cb
on c.car_id = cb.car_id
join engine as e
on c.car_id = e.car_id
join brand as b
on b.brand_id = c.brand_id
join transmission as t
on c.car_id = t.car_id";
//to submit the dropdown list to get sort i want
if($_SERVER['REQUEST_METHOD']=='POST')
{
{
$_SESSION["price_filter"]=$_POST["price_filter"]; // call the ajax function to submit price drop down list
if (isset($_SESSION["price_filter"]) && !empty ($_SESSION["price_filter"]))
{
//query to show price 1 result
if ($_SESSION["price_filter"] == 1)
{
$sql_paging.=" order by price asc";
}
else if($_SESSION["price_filter"] == 2)
{
$sql_paging.=" order by price desc";
$_SESSION["price"]=($price ==2);
}
} //end of if filter
}//end of if request
$sql_paging.=" LIMIT $offset,$recored_limit";
if(!$paging_result=$db->query($sql_paging))
{
die ($db->error);
}
while($row=$paging_result->fetch_assoc())
{
##I don't paste all of codes it's just part of them for example ##
<code> echo "price".$row["price"]; }
这部分使用session进行分页,以便在转到下一页时保留排序结果
<!-- 1 st page-->
<li class=""> <a href="<?php echo $_SERVER["PHP_SELF"]."?page="."1"."&f=".$_SESSION["price_filter"]?>"><i class="fa fa-angle-left"></i></a></li>
<?php
for ($i=1; $i<=$total_page; $i++)
{?>
<li><a href="<?php echo $_SERVER["PHP_SELF"]."?page=".$i."&f=".$_SESSION["price_filter"]?>"><?php echo $i;?></a></li>
<?php } // end of for ?>
<!-- last page-->
<li><a href="<?php echo $_SERVER["PHP_SELF"]."?page=".$total_page ?>"><i class="fa fa-angle-right"></i></a></li>
最后,这是第一个问题,也是第一个尝试在这个网站上提问的问题
有人能帮我修一下这个密码吗
很抱歉英语不好您必须定义$offset,如:
$offset=$i*$recored_limit;
$recored\u限制也需要定义,请尝试:
$recored_limit=5;
限制返回您从$offset中重新记录的$recored\u限制记录;
要保存过滤器上升,请执行以下操作:
$_SESSION["price_filter"]=$_POST["price_filter"]
...
if ($_SESSION["price_filter"] == 1){
$sql_paging.=" order by price asc";
}
elseif($_SESSION["price_filter"] == 2){
$sql_paging.=" order by price desc";
}
我在主要问题中添加了分页功能,我试图通过修改解决我的代码,但问题仍然存在
$\u会话[“price\u filter”]=$\u POST[“price\u filter”];//如果(isset($\u会话[“price\u filter”])和&!empty($\u会话[“price\u filter”]){//查询以显示price 1结果,如果($会话[“价格过滤器”]==1){$sql\u分页。=“按价格asc排序”;}否则如果($会话[“价格过滤器”]==2){$sql\u分页。=“按价格说明排序”;$会话[“价格”]==($price==2);}//结束过滤器
1)分页是否有效?2)尝试修改$会话[“价格过滤器”=$POST[“价格过滤器”];如果(isset($\u POST[“price\u filter”]){$\u会话[“price\u filter”]=$\u POST[“price\u filter”];}您是否启动`的会话?var_转储什么($_会话);输出?分页工作。。我尝试了这个修改,但问题仍然存在:/我不知道如何修复它。。!!当我刷新页面而不选择任何排序时,屏幕字符串(1)“2”上的该值
$_SESSION["price_filter"]=$_POST["price_filter"]
...
if ($_SESSION["price_filter"] == 1){
$sql_paging.=" order by price asc";
}
elseif($_SESSION["price_filter"] == 2){
$sql_paging.=" order by price desc";
}