2013-09-05 62 views
0

Javascript,我想使用fnserverparams,但我可能不会做正确的。发送一个变量通过数据表ajaxsource

$(document).ready(function() { 

$('#dblist').on('change', function() { 

    var selected = $("select option:selected").text(); 
    tablefill(selected); 

}); 

$('#search').click(function() { 

    var selected = $("select option:selected").text(); 
    tablefill(selected); 

}); 

function tablefill(selected) { 

    $('#table_id').dataTable({ 
     "sAjaxSource": '/php/connect/searchtablequery.php', 
     "bProcessing": true, 
     //"bServerSide": true, 
     "bDestroy": true, 
     "sAjaxDataProp": "", 
     "fnServerParams": function (aoData) { 
      aoData.push({ "db": selected }); 
     }, 
     "aoColumns": [ 
      { "mData": "calldate" }, 
      { "mData": "clid" }, 
      { "mData": "src" }, 
      { "mData": "dst" }, 
      { "mData": "dcontext"}], 
     "bJQueryUI": true, 
     "sPaginationType": "full_numbers", 
     "sDom": '<"H"Tfr>t<"F"ip>', 
     "oTableTools": { 
      "sSwfPath": "/DataTables/extras/TableTools/media/swf/copy_csv_xls_pdf.swf", 
      "aButtons": [ 
       "copy", "csv", "xls", "pdf", 
       { 
        "sExtends": "collection", 
        "sButtonText": "Save", 
        "aButtons": ["csv", "xls", "pdf"] 
       } 
      ] 
     } 
    }); 
}; 

});

PHP我用它来获得变量

<?php 
session_start(); 
include '../connect/adminconnect.php'; 

$myuserdb = $_POST['db']; 

$dbidsql = $dbh->prepare("SELECT * FROM DBList WHERE DBNick= :db"); 
$dbidsql->execute(array(':db' => $myuserdb));; 
$userdbid = $dbidsql->fetchAll(); 

$dbip = $userdbid['DBIP']; 
$dbuser = $userdbid['DBUser']; 
$dbpass = $userdbid['DBPass']; 
$dbname = $userdbid['DBName']; 
$remotetblname="crd"; // Table name 

// Connect to server and select databse. 
try { 
    $remotedbh = new PDO("mysql:host=$dbip;dbname=$dbname", "$dbuser", "$dbpass"); 
} 
catch(PDOException $e) { 
    echo $e->getMessage(); 
} 

$query = 'SELECT * FROM cdr'; 
$sql = $remotedbh->prepare($query); 
$sql->execute(); 
$dblist = $sql->fetchAll(PDO::FETCH_ASSOC); 

if($sql->rowCount() > 0){ 
    header('Content-type: application/json'); 
    echo json_encode($dblist); 
} 
else { 
    echo 0; 
} 

?>

我有JSON和一切工作,我只是希望用户能够选择DB从下拉列表中,以查询哪些正在工作,但我无法弄清楚如何传递变量,因为所有的dbip都是空的。

+0

您正在使用什么版本的数据表的? – Gigo

回答