【问题标题】:sql filter table datasql过滤表数据
【发布时间】:2013-01-03 16:32:10
【问题描述】:

我有一个超过 10 列的表格。我可以使用sql 命令过滤数据,例如:

mysql_select_db("mydb", $con);

$sql="SELECT * FROM files WHERE PUB LIKE '".$PUB."' AND
ID LIKE '".$ID."' AND PG_NO LIKE '%".$PG_NO."%' AND
SECTION LIKE '".$SECTION."' AND EDITION LIKE '%".$EDITION."%' AND
COLOR LIKE '".$COLOR."' AND REVISION LIKE '".$REVISION."'";

问题是我必须填写搜索/过滤查询的每个字段。 我有时想使用所有字段和其他一些字段。

有什么方法可以让我只使用 1 或 2 个过滤条件进行过滤,其余过滤器留空以显示所有相应的数据?

【问题讨论】:

    标签: php sql filter


    【解决方案1】:

    在调用 SQL 语句之前添加它

    if(isset($PUB)){}
    else{
        $PUB = "%";
        }
    if(isset($ID)){}
    else{
        $ID = "%";
        }   
    if(isset($SECTION)){}
    else{
        $SECTION = "%";
        }
    if(isset($EDITION)){}
    else{
        $EDITION = "%";
        }
    if(isset($COLOR)){}
    else{
        $COLOR = "%";
        }
    if(isset($REVISION)){}
    else{
        $REVISION = "%";
        }
    

    如果没有选择任何选项,我们实际上所做的是给出所有标准通配符。

    【讨论】:

    • ~ PUB ID~"; while($row = mysql_fetch_array($result) ) {echo "";echo "".$row['PUB']."";echo "".$row['ID']."";~ echo "";}echo "";?>
    • 对不起,空间问题让我以笨拙的方式写了这篇文章。我觉得你们俩都在做正确的事,只是我无法让事情继续下去。这是我正在使用的总代码,〜表示其余部分。请帮忙。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-15
    相关资源
    最近更新 更多