我想将数据传递到服务器页面进行搜索,我在服务器文件上回显/打印查询,如果我提供了多个参数,则不会连接在哪里。它只显示最后提供的参数where where.here is my code < / p>
"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和print查询中传递两个参数,它只显示一个参数,就像我的链接一样
/view_match_lead_server.php?type=1&category_id=1
查询的位置是这样的(其他查询没问题)
WHERE category_id=1
答案 0 :(得分:0)
如果此问题仍然有效:
三个步骤/问题:
我刚刚解决了同样的问题。在你使用带有三个参数的fnServerData()的地方,我使用fnServerParams()只有一个参数 - aoData。我在aoData.push中的三个附加参数与你的相似。
其次,我使用Firebug来确保我在$ _GET的URL中发送我的附加参数以正确获取。必须在浏览器中清除历史记录,以确保这不会干扰您的更改。
最后,我有一个全面的类函数来执行服务器PHP位,因此很难(但并非不可能)将其用作服务器脚本的解决方案。如果此问题仍处于活动状态且尚未解决,我将对您的PHP脚本进行更详细的分析。