0

ステートメント $where_search が投稿フォームからの複数条件である複数検索を作成したい。しかし、このコード「.where_search」を使用するとエラーが発生します。ページング用の mysql_num_rows を使用した where 条件

$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た。これは、更新する必要があるコードの一部です。

...

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 に答える