Ⅰ thinkphp多条组合筛选 怎么做url 的重写 不要让url太长
在根目录建 .htaccess 文件
代码
<IfMole mod_rewrite.c>
Options +FollowSymlinks
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php/$1 [QSA,PT,L]
</IfMole>、
这代码是把index.php给去掉
网址重写还要开启Apache配置
#LoadMole rewrite_mole moles/mod_rewrite.so //去掉前面#号
tp框架配置文件加 'URL_MODEL'=>2,
Ⅱ php mysql 多条件筛选
$sql="select * from house where house_price> '$cdayprice' and 地位位置=‘东城区’
Ⅲ 求解:php商品条件筛选功能你是怎么做出来的
php按条件筛选商品的功能,还是比较简单的。
其实就是根据不同的条件组成SQL查询条件,从数据库里查出不同的商品出来。
举个例子:
用户可以按价格范围、按品牌、按商品名称这几项来综合查询。
那么,在用户选择了上面这些查询条件后(可能这3个条件都设置了,也可能只设置了其中2个),提交到服务器端,服务端程序收到用户的查询条件,开始组装SQL查询语句,最后执行组装好的SQL查询语句,返回结果给用户。
代码举例:
用户提交的查询:
price='0-1000'; //按价格范围0-1000元查询
brandid=20; //要求品牌必须是ID号为20的这个(假设这个ID号为20的品牌,名字叫”西部数据")
proctname='绿盘'; //商品名称只设置了2个字以做模糊查询
用户点了查询按钮后,根据程序的不同,可能是get方式也可能是post方式发送查询请求,现假设为post方式。
然后在服务器端程序中,收到用户的查询请求:
$price=$_POST['price'];
$price_arr=explode('-',$price); //这里是把价格范围按-号拆散成数组,方便在组装SQL查询语句时用。
$brandid=$_POST['brandid'];
$proctname=$_POST['proctname'];
当然,上面的数据获取后,还要进行相应的安全方面的检查与处理,这里先略过。
接下来,开始组装SQL查询语句:
$sqlexp='';
//下面开始组根据用户设置的查询条件进行SQL查询条件的组装
if(!empty($price)) {
$sqlexp.=' and (price>='.$price_arr[0].' and price<='.$price_arr[1];
}
if(!empty($brandid)) {
$sqlexp.=' and brandid='.$brandid;
}
if(!empty($proctname)) {
$sqlexp.=" and instr(proctname,'$proctname')>0";
}
//下面执行SQL查询
$result=mysql_query("select * from proct where state=1 ".$sqlexp);
在上面的查询完成后,把查询结果返回给用户,就完成了用户按条件筛选商品的功能。
Ⅳ 谁知道 php中怎样实现 条件筛选功能
传不同的参数就可以。比如 构造链接地址 ?a=条件a值&b=条件b值&c=条件c值
如果传递的条件为空,那链接地址的参数值也为空。
当前页接收到各个参数值时,若值不为空则加上对应的参数条件作为查询的where。
Ⅳ php多条件复合查询
在我们的网站设计过程中,经常会用到多条件查询,本文的源码是一个二手房屋查询的例子。在本例中,我们要实现能够通过地理位置,物业类型,房屋价格,房屋面积及信息发布日期等多个条件查询到客户所需的资料。
查询文件(search.php)
一、生成查询语句:
<?
$conn=mysql_connect("localhost","root","");
$db=mysql_select_db("lingyun");
$query="select * from message where tradetype='".$tradetype."'"; //交易类型,如出租,出售
$SQL=$SQL . "wuye='" . $wuye . "'";
if($housetype!="不限"){
$query.=" && housetype='".$housetype."'"; //房屋类型,如二室一厅,三室二厅
}
if($degree!="不限"){
$query.=" && degree='".$degree."'"; //新旧程度
}
if($wuye!="不限"){
$query.=" && wuye='".$wuye."'"; //物业类型 如住房,商铺
}
if($price2!=""){
switch($price1){
case "大于":
$query.=" && price>'".$price2."'"; //价格
break;
case "等于":
$query.=" && price='".$price2."'";
break;
case "小于":
$query.=" && price<'".$price2."'";
break;
}
}
if($area2!=""){
switch($area1){
case "大于":
$query.=" && area>'".$area2."'"; //面积
break;
case "等于":
$query.=" && area='".$area2."'";
break;
case "小于":
$query.=" && area<'".$area2."'";
break;
}
}
switch($pubdate){ //发布日期
case "本星期内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=7";
break;
case "一个月内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=30";
break;
case "三个月内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=91";
break;
case "六个月内":
$query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=183";
break;
}
if($address!=""){
$query.=" && address like '%$address%'"; //地址
}
if(!$page){
$page=1;
}
?>
二、输出查询结果:
<?php
if ($page){
$page_size=20;
$result=mysql_query($query);
#$message_count=mysql_result($result,0,"total");
$message_count=10;
$page_count=ceil($message_count/$page_size);
$offset=($page-1)*$page_size;
$query=$query." order by date desc limit $offset, $page_size";
$result=mysql_query($query);
if($result){
$rows=mysql_num_rows($result);
if($rows!=0){
while($myrow=mysql_fetch_array($result)){
echo "<tr>";
echo "<td width='15' height='12'><img src='image/home2.gif' width='14' height='14'></td>";
echo "<td width='540' height='12'>$myrow[id] $myrow[tradetype] $myrow[address] $myrow[wuye]($myrow[housetype])<font style='font-size:9pt'>[$myrow[date]]</font>";
echo "</td>";
echo "<td width='75' height='12'><a href='view_d.php?code=$myrow[code]' target='_blank'>详细内容</a></td>";
echo "</tr>";
}
}
else echo "<tr><td><div align='center'><img src='image/sorry.gif'><br><br>没有找到满足你条件的记录</div></td></tr>";
}
$prev_page=$page-1;
$next_page=$page+1;
echo "<div align='center'>";
echo " 第".$page."/".$page_count."页 ";
if ($page<=1){
echo "|第一页|";
}
else{
echo "<a href='$PATH_INFO?page=1'>|第一页|</a>";
}
echo " ";
if ($prev_page<1){
echo "|上一页|";
}
else{
echo "<a href='$PATH_INFO?page=$prev_page'>|上一页|</a>";
}
echo " ";
if ($next_page>$page_count){
echo "|下一页|";
}
else{
echo "<a href='$PATH_INFO?page=$next_page'>|下一页|</a>";
}
echo " ";
if ($page>=$page_count){
echo "|最后一页|";
}
else{
echo "<a href='$PATH_INFO?page=$page_count'>|最后一页|</a>";
}
echo "</div>";
}
else{
echo "<p align='center'>现在还没有房屋租赁信息!</p>";
}
echo "<hr width="100%" size="1">";
?>
</table>
Ⅵ php+ajax 如何实现多条件筛选
给每个列表添加一个统一标记就可以了,所有dl加上一个sel的class,以及每个选中的加check的标记
<dlid="select2"class="neicun"><dt>内存</dt><ddclass="check">512M</dd>
<dlid="select1"class="pinpai"><dt>品牌</dt><ddclass="check">XXX</dd>
//jquery事件绑定
$('.selectdd').click(function(){
$(this).parent().find('.check').removeClass('check');
$(this).addClass('check');
})
//www.hi-docs.com/jquery/click.html
ajax把每个check的值拼起来就可以了
Ⅶ php开发数据多条件筛选需要哪些知识基础
SQL。
根据不同的条件组成SQL查询条件,从数据库里查出不同的商品出来。
在用户选择了上面这些查询条件后(可能这3个条件都设置了,也可能只设置了其中2个),提交到服务器端,服务端程序收到用户的查询条件,开始组装SQL查询语句,最后执行组装好的SQL查询语句,返回结果给用户。
Ⅷ php多条件复合搜索怎么做到
这个用脚本来做更简单些,不用分多次往a.php传参。传一次就行了。
<!--HTML START-->
<!--函数参数推荐写数字,既对应“摩托罗拉”的id,但由于这里你没给出,我索性写上汉字了-->
<a href="javescript:set_made('摩托罗拉')">摩托罗拉</a>
<a href="javescript:set_made('诺基亚')">诺基亚</a>
<a href="javescript:set_made('苹果')">苹果</a>
<a href="javescript:set_price('1000-2000')">1000-2000元</a>
<a href="javescript:set_price('2000-3000')">2000-3000元</a>
<a href="javescript:set_price('3000-5000')">3000-5000元</a>
<a href="javescript:set_os('android系统')">android系统</a>
<a href="javescript:set_os('塞班系统')">塞班系统</a>
<a href="javescript:set_os('苹果系统')">苹果系统</a>
<!--这里的表单隐藏域,只显示一个搜索按钮-->
<form action='' method='post'>
<input id='made' name='made' type='hidden' value='<?php echo $_POST['made'] ?>'/>
<input id='price' name='price' type='hidden' value='<?php echo $_POST['price'] ?>'/>
<input id='os' name='os' type='hidden' value='<?php echo $_POST['os'] ?>'/>
<input type='submit' value = '搜索'/>
</form>
<!--HTML END-->
<!--SCRIPT START-->
<script>
/* @Tips : 这段JS代码可以放到单独的JS文件中去,也可以直接写到head里,随你。
* @Purpose : 这里几个函数分别是把隐藏域中的made、price、os设置成对应的值,点击链接时触发
* @Method : set_made,set_price,set_os
* @Param : str 字符串或者数字,请根据你的需要来决定
* @Return : NULL
*/
function set_made (str) {
document.getElementById('made').value = str;
}
function set_price (str) {
document.getElementById('price').value = str;
}
function set_os (str) {
document.getElementById('os').value = str;
}
</script>
<!--SCRIPT END-->
至于函数参数里你是要添ID 还是添汉字,自己改就行了。
还有你说的那个变色的问题,也不难做,但代码有点长,我懒得写了……
就跟你说一下方法:
首先你要给这几个<a>标签做个CSS类名,比如<a class='test'>,这个test可以不写,主要是用来区别页面其它的<a>标签。当然不写也没关系,只是会让JS脚本稍慢一点。
然后用document.getElementByTageName('a'),获取页面中所有的<a>标签。做个循环,把class不是test的过滤掉,再用他们的innerHTML属性与made、price、os的value属性分别比较,如果是一样的话,就改变它的背景颜色。
Ⅸ PHP商城实现多条件筛选的问题
加几个隐藏域。分别标示品牌、价格、颜色等等。点击之后就在隐藏域里面存入值。跳转页面的时候调用js方法,获取这几个隐藏域的内容,拼接成url 。你说的拼接url是怎么个意思?这些分类条件是会变动的嘛?不变动就可以这样做。变动的话最多就是从php中拿到分类的值在前端模版里面循环赋值给js。一样的。
Ⅹ thinkphp3.2.3多条件筛选是如何做的呢
你的条件用数组装起来就可以完成,例如:
$condition['name']=$_GET['name'];
$condition['id']=$_GET['id'];
$condition['age']=$_GET['age'];
$result=$info->field($in)->where($condition)->limit(300)->select();