0

サーバーページにデータを渡して検索したいのですが、サーバーファイルでクエリをエコー/印刷します。これは、複数のパラメーターを提供する場合、連結されません。それは、最後に提供されたパラメーターのみを表示します。ここに私のコードがあります

"fnServerData": function ( sSource, aoData, fnCallback ) {
                            /* Add some extra data to the sender */
                            aoData.push( 
                             { "name": "type", "value": $('#type_dummy').val() },
                             { "name": "category_id", "value": $('#category_id').val() },
                             { "name": "region_id", "value": $('#region_id').val() }

                            );

                            $.getJSON( sSource, aoData, function (json) { 
                                /* Do whatever additional processing you want on the callback, then tell DataTables */
                                fnCallback(json)

                } );
            }

サーバー側の処理ファイルで私はこれを持っています

$sWhere = "";
if ( $_GET['sSearch'] != "" )
{
    $sWhere = "WHERE (";
    for ( $i=0 ; $i<count($aColumns) ; $i++ )
    {
        $sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string( $_GET['sSearch'] )."%' OR ";
    }
    $sWhere = substr_replace( $sWhere, "", -3 );
    $sWhere .= ')';
}

/* Individual column filtering */
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
    if ( $_GET['bSearchable_'.$i] == "true" && $_GET['sSearch_'.$i] != '' )
    {
        if ( $sWhere == "" )
        {
            $sWhere = "WHERE ";
        }
        else
        {
            $sWhere .= " AND ";
        }
        $sWhere .= $aColumns[$i]." LIKE '%".mysql_real_escape_string($_GET['sSearch_'.$i])."%' ";
    }
}

 if(isset($_GET['type'])  && $_GET['type'] != '' ){
$sWhere = "WHERE rent.type = '$_GET[type]' ";
 }
  if(isset($_GET['category_id'])  && $_GET['category_id'] != '' ){
$sWhere = "WHERE rent.category_id = '$_GET[category_id]' ";
 }

このサーバー側ファイルをURLで直接実行し、両方のパラメーターをURLと印刷クエリに渡します。リンクのような場所に1つのパラメーターのみが表示されます

/view_match_lead_server.php?type=1&category_id=1

クエリの場所はこのようなものです(他のクエリは問題ありません)

WHERE category_id=1
4

1 に答える 1