백엔드 개발 PHP 튜토리얼 多条件动态筛选,该如何处理

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

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
$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 = $_GET;  if(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

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까? 화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까? Dec 29, 2023 pm 02:27 PM

화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까?

수정: Windows 11에서 캡처 도구가 작동하지 않음 수정: Windows 11에서 캡처 도구가 작동하지 않음 Aug 24, 2023 am 09:48 AM

수정: Windows 11에서 캡처 도구가 작동하지 않음

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提交表单通过后,弹出的对话框怎样在当前页弹出,该如何解决

jQuery의 get 메소드와 post 메소드의 유사점과 차이점에 대한 심층 분석 jQuery의 get 메소드와 post 메소드의 유사점과 차이점에 대한 심층 분석 Feb 24, 2024 pm 12:15 PM

jQuery의 get 메소드와 post 메소드의 유사점과 차이점에 대한 심층 분석

Ubuntu의 apt-get 업데이트 소스를 변경하는 방법은 무엇입니까? Ubuntu의 apt-get 업데이트 소스를 변경하는 방법은 무엇입니까? Jan 05, 2024 pm 03:40 PM

Ubuntu의 apt-get 업데이트 소스를 변경하는 방법은 무엇입니까?

See all articles