0

我想创建多个搜索,其中语句 $where_search 是来自帖子表单的多个条件。但是当我使用此代码“.where_search”时仍然出错。在 where 条件下使用 mysql_num_rows 进行分页

$tampil2 = mysql_query("SELECT * FROM bb where ".$where_search."  and kd_kelompok='2' and kd_komoditi='11' and nm_sebutan IS NOT NULL " );

这是完整的代码。

$where_search = "kd_pok='2' and kd_komoditi='11' ";

if (isset($_POST['lakpus']))
{

    if (empty($_POST['lakpus']))
    {

    }
    else
    {

        if (empty($where_search))
        {
             $where_search .= "lakpus = '$lakpus' ";
        }
        else
        {

             $where_search .= "AND lakpus = '$lakpus' ";

        }
    }
} 

if (isset($_POST['kd_por']))
{
    $kd_por = $_POST['kd_por'] ;

    if (empty($_POST['kd_por']))
    {

    }
    else
    {

        if (empty($where_search))
        {
            $where_search .= "kd_por = '$kd_por' ";

        } 
        else
        {

            $where_search .= "AND tab1.kd_por = '$kd_por' ";

        }
    }
} 

$max=15;
$tampil2 = mysql_query("SELECT * FROM bb where ".$where_search."  and kd_kelompok='2' and kd_komoditi='11' and nm_sebutan IS NOT NULL " );
$jml = mysql_num_rows($tampil2);
$jmlhal  = ceil($jml/$max);
4

1 回答 1

2

也许你的错误在这里:

$where_search .= "AND tab1.kd_por = '$kd_por' ";

因为您没有声明“tab1”。尝试更改为:

$where_search .= "AND kd_por = '$kd_por' ";

编辑 1

您没有$lakpus$_POST使用它之前恢复 var。这是您必须更新的部分代码。

...

else
{

    $lakpus = $_POST['lakpus'];

    if (empty($where_search))
    {
        $where_search .= "lakpus = '$lakpus' ";
    }

    ...

编辑 2

正如我在评论中所说,尝试在 mysql_query() 之后调用 mysql_num_rows(),如下所示。

$qry = "SELECT * FROM bb where ".$where_search; 

$res = mysql_query($qry); 

$num = mysql_num_rows($res);

$row = mysql_fetch_array($res); 
于 2012-07-04T03:05:46.457 回答