Discuz教程网

PHP实现多条件查询实例代码

[复制链接]
authicon dly 发表于 2011-8-31 13:01:05 | 显示全部楼层 |阅读模式
查询文件(search.php)
一、生成查询语句:

代码如下:

  1. <?
  2. $conn=mysql_connect("localhost","root","");
  3. $db=mysql_select_db("lingyun");
  4. $query="select * from message where tradetype='".$tradetype."'"; //交易类型,如出租,出售
  5. $SQL=$SQL . "wuye='" . $wuye . "'";
  6. if($housetype!="不限"){
  7. $query.=" && housetype='".$housetype."'"; //房屋类型,如二室一厅,三室二厅
  8. }
  9. if($degree!="不限"){
  10. $query.=" && degree='".$degree."'"; //新旧程度
  11. }
  12. if($wuye!="不限"){
  13. $query.=" && wuye='".$wuye."'"; //物业类型 如住房,商铺
  14. }
  15. if($price2!=""){
  16. switch($price1){
  17. case "大于":
  18. $query.=" && price>'".$price2."'"; //价格
  19. break;
  20. case "等于":
  21. $query.=" && price='".$price2."'";
  22. break;
  23. case "小于":
  24. $query.=" && price<'".$price2."'";
  25. break;
  26. }
  27. }
  28. if($area2!=""){
  29. switch($area1){
  30. case "大于":
  31. $query.=" && area>'".$area2."'"; //面积
  32. break;
  33. case "等于":
  34. $query.=" && area='".$area2."'";
  35. break;
  36. case "小于":
  37. $query.=" && area<'".$area2."'";
  38. break;
  39. }
  40. }
  41. switch($pubdate){ //发布日期
  42. case "本星期内":
  43. $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=7";
  44. break;
  45. case "一个月内":
  46. $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=30";
  47. break;
  48. case "三个月内":
  49. $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=91";
  50. break;
  51. case "六个月内":
  52. $query.=" && TO_DAYS(NOW()) - TO_DAYS(date)<=183";
  53. break;
  54. }
  55. if($address!=""){
  56. $query.=" && address like '%$address%'"; //地址
  57. }
  58. if(!$page){
  59. $page=1;
  60. }
  61. ?>
复制代码





二、输出查询结果:
代码如下:

  1. <?php
  2. if ($page){
  3. $page_size=20;
  4. $result=mysql_query($query);
  5. #$message_count=mysql_result($result,0,"total");
  6. $message_count=10;
  7. $page_count=ceil($message_count/$page_size);
  8. $offset=($page-1)*$page_size;
  9. $query=$query." order by date desc limit $offset, $page_size";
  10. $result=mysql_query($query);
  11. if($result){
  12. $rows=mysql_num_rows($result);
  13. if($rows!=0){
  14. while($myrow=mysql_fetch_array($result)){
  15. echo "<tr>";
  16. echo "<td width='15' height='12'><img src='image/home2.gif' width='14' height='14'></td>";
  17. echo "<td width='540' height='12'>$myrow[id] $myrow[tradetype] $myrow[address] $myrow[wuye]($myrow[housetype])<font style='font-size:9pt'>[$myrow[date]]</font>";
  18. echo "</td>";
  19. echo "<td width='75' height='12'><a href='view_d.php?code=$myrow[code]' target='_blank'>详细内容</a></td>";
  20. echo "</tr>";
  21. }
  22. }
  23. else echo "<tr><td><div align='center'><img src='image/sorry.gif'><br><br>没有找到满足你条件的记录</div>& lt;/td></tr>";
  24. }
  25. $prev_page=$page-1;
  26. $next_page=$page 1;
  27. echo "<div align='center'>";
  28. echo " 第".$page."/".$page_count."页 ";
  29. if ($page<=1){
  30. echo "|第一页|";
  31. }
  32. else{
  33. echo "<a href='$PATH_INFO?page=1'>|第一页|</a>";
  34. }
  35. echo " ";
  36. if ($prev_page<1){
  37. echo "|上一页|";
  38. }
  39. else{
  40. echo "<a href='$PATH_INFO?page=$prev_page'>|上一页|</a>";
  41. }
  42. echo " ";
  43. if ($next_page>$page_count){
  44. echo "|下一页|";
  45. }
  46. else{
  47. echo "<a href='$PATH_INFO?page=$next_page'>|下一页|</a>";
  48. }
  49. echo " ";
  50. if ($page>=$page_count){
  51. echo "|最后一页|";
  52. }
  53. else{
  54. echo "<a href='$PATH_INFO?page=$page_count'>|最后一页|</a>";
  55. }
  56. echo "</div>";
  57. }
  58. else{
  59. echo "<p align='center'>现在还没有房屋租赁信息!</p>";
  60. }
  61. echo "<hr width="100%" size="1">";
  62. ?>
  63. </table>
复制代码






上一篇:PHP 无限级数据JSON格式及JS解析
下一篇:PHP实现多条件查询实例代码
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1314学习网 ( 浙ICP备10214163号 )

GMT+8, 2025-5-2 09:04

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表