DataTables e la sua creazione dinamica

me cojon

Ed eccoci qui con il mio primo post (spero di una lunga serie)…. Comunque…essendo io la persona più pigra dell’universo in assoluto ho creato una funzione che con 1 sola riga di codice vi permetterà di creare, popolare ed inizializzare un tabella DataTables prendendo i dati da MySql. Se avete problemi….usate la sezione commenti !

  1. /**
  2.      * Crea tabella dinamica in modo automatico
  3.      *
  4.      * @param string $dataTableName ID da assegnare alla tabella non dimenticare inizializzazione jquery
  5.      * @param string $tableName Nome tabella mysql
  6.      * @param array $a_colName Titoli delle colonne
  7.      * @param array $a_fields Nome dei campi come db
  8.      */
  9.     function dataTable($dataTableName, $tableName, $a_colName, $a_fields){
  10.         mysql_connect(“localhost”, “root”, “”);
  11.         mysql_select_db(“db”);
  12.         if( count($a_colName) != count($a_fields) ){
  13.             echo “Non mi trovo col numero di campi e colonne…”;
  14.             exit();
  15.         }
  16.         $numCol = count($a_colName);
  17.         $q = “SELECT id, “;
  18.         foreach ($a_fields AS $campo){
  19.             $q .= $campo . “, “;
  20.         }
  21.         $q = substr($q, 0, 2);
  22.         $q .= ” FROM $tableName;
  23.         $result = mysql_query($q);
  24.         if(!$result) echo mysql_error ();
  25.         echo “<table id=\”$dataTableName\” cellpadding=\”0\” cellspacing=\”0\” border=\”0\” class=\”table table-bordered table-striped\”>”;
  26.         echo “<thead>”;
  27.         foreach ($a_colName AS $col){
  28.                 echo “<th>” . $col . “</th>” ;
  29.             }
  30.        echo “</thead>”;
  31.         $count = mysql_affected_rows();
  32.         if($count != 0) {
  33.             while ( $data = mysql_fetch_assoc($result) ){
  34.                 echo ‘<tr id=”‘ . $data[‘id’] . ‘”> ‘;
  35.                 foreach ($a_fields AS $campo){
  36.                     echo “<td>” . $data[$campo] . “</td>” ;
  37.                 }
  38.              echo ‘</tr>’;
  39.             }
  40.         } else {
  41.             echo “”;
  42.         }
  43.         echo “</table>”;
  44.         echo ‘ <script> $(document).ready(function() { $(“#’.$dataTableName .‘”).dataTable(); });</script>’;
  45.     }

 

esempio

$colonne = array("Nome Cliente", "Cognome Cliente"); //titolo che vogliamo dare ad ogni campo
$campi = array("nome", "cognome"); // nome dei campi nella nostra tabella

 dataTable(“laMiaTabella”, “nomeTabellaMySql”, $colonne, $campi);

 

immaginatevi l’output !

😛

 

un saluto

Gh0st