Quote Originariamente inviata da Luigi636 Visualizza il messaggio
Quindi in pratica invece di dargli l'output della tabella in html devo togliere tutto e creare un file PHP che mi genera un Json da cui il datatables andrà a prendersi i dati.. Giusto?
Se è cosi, mi aspetta un bel lavoro.. Ci saranno circa 25 tabelle da generare..
si più o meno si.
bhe cerca creare una funzione js parametrizzata, in cui magari indichi la tabella (SQL) da cui prendere i dati.

cmq ho visto datables manda parecchi parametri in GET quando fa la richiesta.
ti scrivo l'esempio php su cui sto lavorando.
non funziona al 100%, ma domani continuo a lavorarci.

questo il js:
codice:
function dtClassicAjax(id) {
    $(id).dataTable({
        "processing": true,
        "serverSide": true,
        "ajax": 'clienti.php'
    });
}
questo il php:
Codice PHP:
    $start $_GET['start'];
    
$length $_GET['length'];
    
$draw $_GET["draw"];
    
$orderByColumnIndex $_GET['order'][0]['column'];
    
$orderBy $_GET['columns'][$orderByColumnIndex]['data'];
    
$orderType $_GET['order'][0]['dir'];
//    $cmd = 'SELECT * FROM clienti WHERE cliente_clde = "CL" ORDER BY ' . $orderBy . ' ' . $orderType . ' LIMIT ' . $start . ',' . $length;
    
$cmd 'SELECT * FROM clienti WHERE cliente_clde = "CL" ORDER BY cliente_codice ' $orderType ' LIMIT ' $start ',' $length;

    
$connessione Connessione::getInstance();
    
$clienti = new Clienti($connessione);
    
$columns = array(
        array(
'db' => 'CODICE''dt' => 0),
        array(
'db' => 'RAG SOC''dt' => 1),
        array(
'db' => 'MENM''dt' => 2),
        array(
'db' => 'PIVA''dt' => 3),
        array(
'db' => 'EMAIL''dt' => 4),
        array(
'db' => 'ATTIVO''dt' => 5)
    );
    
$rows $clienti->getByTipoLimit($cmd);
    
$out = array();
    foreach (
$rows as $var) {
        
$row = array();
        
$row[$columns[0]['dt']] = $var['cliente_codice'];
        
$row[$columns[1]['dt']] = $var['cliente_ragsoc'];
        
$row[$columns[2]['dt']] = $var['cliente_mnemonico'];
        
$row[$columns[3]['dt']] = $var['cliente_piva'];
        
$row[$columns[4]['dt']] = $var['cliente_email'];
        
$row[$columns[5]['dt']] = $var['cliente_attivato'];
        
$out[] = $row;
    }
    
$res = array(
        
"draw" => $draw,
        
"recordsTotal" => count($rows),
        
"recordsFiltered" => count($rows),
        
"data" => $out
    
);
    echo 
json_encode($res); 
i GET arrivano in automatico da datatbles.
questa la stringa di esempio che arriva al server:
codice:
http://.....?draw=1&columns[0][data]=0&columns[0][name]=&columns[0][searchable]=true&columns[0][orderable]=true&columns[0][search][value]=&columns[0][search][regex]=false&columns[1][data]=1&columns[1][name]=&columns[1][searchable]=true&columns[1][orderable]=true&columns[1][search][value]=&columns[1][search][regex]=false&columns[2][data]=2&columns[2][name]=&columns[2][searchable]=true&columns[2][orderable]=true&columns[2][search][value]=&columns[2][search][regex]=false&columns[3][data]=3&columns[3][name]=&columns[3][searchable]=true&columns[3][orderable]=true&columns[3][search][value]=&columns[3][search][regex]=false&columns[4][data]=4&columns[4][name]=&columns[4][searchable]=true&columns[4][orderable]=true&columns[4][search][value]=&columns[4][search][regex]=false&columns[5][data]=5&columns[5][name]=&columns[5][searchable]=true&columns[5][orderable]=true&columns[5][search][value]=&columns[5][search][regex]=false&order[0][column]=0&order[0][dir]=asc&start=0&length=10&search[value]=&search[regex]=false&_=1465832288870