0

Javascript、fnserverparams を使用しようとしていますが、正しく行っていない可能性があります。

$(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とすべてが機能しています。ユーザーがドロップダウンからクエリするデータベースを選択できるようにしたいだけです。これは機能していますが、すべてのdbipとすべてが空であるため、変数を渡す方法がわかりません。

4

1 に答える 1

0

私が知っていることから、データテーブルがデータを取得するためのデフォルトの方法はですが、変数でGET探しています。db$_POST

また、そのバージョンが導入されて以来、datatables バージョン 1.8.2 以降を使用してください。http:fnServerParams //www.datatables.net/forums/discussion/6600/question-about-fnserverparamsを参照してください。

于 2013-09-05T16:58:47.583 に答える