多条件动态筛选,该如何处理

Jun 13, 2016 am 10:26 AM
get gt lt param quot

多条件动态筛选
价格:1000 2000 3000
时间:2001 2002 2003
清除价格 清除时间 全部清除

现在点1000 已经有内容出来,不过MYSQL语句错误,再点一下2001,符合两个条件的内容也出来了,SQL没有提示错误。

$result=mysql_query('select * from news_c where title='.$title.' or f_id='.$f_id.'' );
现在要怎么样改sql才不会因为只点了一个条件而出错。

------解决方案--------------------
根据传入参数的数量,动态组装 sql 串
------解决方案--------------------
给你一个测试例

PHP code

1

2

3

4

5

6

$jg = array(1000, 2000, 3000);$sj = array(2001, 2002, 2003);if(isset($_GET['act'])) {  $k = substr($_GET['act'], 3);  unset($_GET['act']);  if($k == 'all') $_GET = array();  else unset($_GET[$k]);}  echo '<br>价格:';$param = getparam('jg');foreach($jg as $v) echo " <a href="?%24param%24v">$v</a>";echo '<br>时间:';$param = getparam('sj');foreach($sj as $v) echo " <a href="?%24param%24v">$v</a>";$param = http_build_query($_GET);echo "<p><a href="?act=deljg&amp;%24param">清除价格</a> <a href="?act=delsj&amp;%24param">清除时间</a> <a href="?act=delall&amp;%24param">全部清除</a>";echo "</p><p>select * from  tbl_name " . expr();function getparam($k) {  $param = $_GETif(isset($_GET[$k])) unset($param[$k]);  $param[$k] = ''return http_build_query($param);}function expr($expr='and') {  if(! $_GET) return ''foreach($_GET as $k=&gt;$v) $r[] = "$k='$v'"return 'where ' . join(" $expr ", $r);}</p><div class="clear">

                  

               

               

         

            </div>

ログイン後にコピー
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Huawei GT3 ProとGT4の違いは何ですか? Huawei GT3 ProとGT4の違いは何ですか? Dec 29, 2023 pm 02:27 PM

Huawei GT3 ProとGT4の違いは何ですか?

修正: Windows 11 で Snipping ツールが機能しない 修正: Windows 11 で Snipping ツールが機能しない Aug 24, 2023 am 09:48 AM

修正: Windows 11 で Snipping ツールが機能しない

PowerShell を使用してタスクを自動化する方法 PowerShell を使用してタスクを自動化する方法 Feb 20, 2024 pm 01:51 PM

PowerShell を使用してタスクを自動化する方法

iPhoneでApp Storeに接続できないエラーを修正する方法 iPhoneでApp Storeに接続できないエラーを修正する方法 Jul 29, 2023 am 08:22 AM

iPhoneでApp Storeに接続できないエラーを修正する方法

Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか? May 16, 2023 pm 07:53 PM

Java はどのようにして http リクエストを開始し、ポストを呼び出してインターフェースを取得するのでしょうか?

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决 Jun 13, 2016 am 10:23 AM

php提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

Curl Getコマンドの例 Curl Getコマンドの例 Mar 20, 2024 pm 06:56 PM

Curl Getコマンドの例

Ubuntuのapt-getアップデートソースを変更するにはどうすればよいですか? Ubuntuのapt-getアップデートソースを変更するにはどうすればよいですか? Jan 05, 2024 pm 03:40 PM

Ubuntuのapt-getアップデートソースを変更するにはどうすればよいですか?

See all articles