Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    DATATABLES e ordinamento PHP

    Salve a tutti... sto provando a capire il funzionamento di questo plugin JQUERY che funziona proprio benino se non fosse che alcune cose non riesco a dedurle dal manuale... danno troppe cose per scontato ed anche gli esempi non aiutano.
    Io ho la tabella come da esempio del loro sito
    codice HTML:
    <table id="example" class="table table-striped table-bordered jambo_table bulk_action" width="100%" cellspacing="0">
            <thead>
                <tr class="headings">
                     <th><input type="checkbox" id="check-all" class="flat"></th>
                    <th class="column-title">Name</th>
                    <th class="column-title">Position</th>
                    <th class="column-title">Office</th>
                    <th class="column-title">Extn.</th>
                    <th class="column-title">Start date</th>
                    <th class="column-title no-link last">Salary</th>
    
                </tr>
            </thead>
            <tfoot>
                <tr class="headings">
                     <th><input type="checkbox" id="check-all" class="flat"></th>
                    <th class="column-title">Name</th>
                    <th class="column-title">Position</th>
                    <th class="column-title">Office</th>
                    <th class="column-title">Extn.</th>
                    <th class="column-title">Start date</th>
                    <th class="column-title no-link last">Salary</th>
    
                </tr>
            </tfoot>
        </table>
    Da Javascript imposto le caratteristiche
    Codice PHP:
    var table= $('#example').DataTable( {
              
    "language": { "url""//cdn.datatables.net/plug-ins/9dcbecd42ad/i18n/Italian.json" },
              
    "scrollY":        "270px",
            
    "scrollCollapse"true,
            
    "iDisplayLength"50,
            
    "ordering"true,
            
    "info":     false,
            
    "processing"true,
            
    "serverSide"true,
            
    "ajax""rubrica2_server.php",
            
    "type""GET",
            
    "columns": [
                { 
    "data""check"
                  
    "className""dt-body-center",
                  
    "orderable"false,
                  
    "render": function(datatyperow){
                   if(
    type==='display'){// alert(data);
                    
    return '<input type="checkbox" class="editor-active">';
                   }
                   return 
    data;
                  }
                },
                { 
    "data""first_name" },
                { 
    "data""last_name" },
                { 
    "data""position" },
                { 
    "data""office" },
                { 
    "data""start_date" },
                { 
    "data""salary" }

            ],
            
    "columnDefs": [
                    { 
    "orderable"false"targets"}
               ]
            

        } ); 
    Non riesco a togliere la possibilità di ordinare la prima riga (i checkbox) o meglio toglie la possibilità ma l'icona rimane, e se clicco ordina da un altra parte mi toglie l'icona spostandomi la colonna Sapete aiutarmi?

    I dati vengono popolati da questo script che per ora genera dati da un loop (piu veloce da testare per prova)
    Codice PHP:
    <?php

    $n
    =(isset($_GET["length"])) ? $_GET["length"] : 10;
    $start=(isset($_GET["start"])) ? $_GET["start"] : 1;
    $draw=(isset($_GET["draw"])) ? $_GET["draw"] : 1;
    $search=(isset($_GET["search"]["value"])) ? $_GET["search"]["value"] : "nulla";
    //$order=(isset($_GET["order"])) ? $_GET["order"] : (array)0;

    if(isset($_GET["order"])){

     
    $str="vis ordinamento";
    }else{
     
    $str="NO";
     
    }

    $fine=$start+$n;

    $arrDati=array();

    for(
    $i=$start;$i<=$fine;$i++){
     
    $arrDati[]=array( "DT_RowId" => "row_".$i,
                       
    "DT_RowData" => array( "pkey" => $i ),
                       
    "first_name" => $i."_nome",
                  
    "last_name" => $i."_cognome",
                  
    "position" => $i."_System Architect",
                  
    "office" => "London",
                  
    "start_date" => $search,
                  
    "salary" => $str,
                  
    "check" => 0
                     
    );    
    }

    $arr=array("draw" =>(int)$draw "recordsTotal" => 500"recordsFiltered" =>500,"data" => $arrDati);

    echo 
    json_encode($arr);
    ?>
    In questo modo se in cerca scrivo una cosa la vedo nella colonna start_date, ma non riesco a visualizzare nulla della sezione ordinamento. Non capisco in che forma i dati arrivano nel GET. Sapete aiutarmi?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    ciao rinosan non si capisce nulla. tranne il fatto che non sai usare il plugin.

    cerca di esprimere meglio il concetto e magari aiuta pubblicando il link alla pagina.
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    chiedo scusa per la poca chiarezza... pagina online non ne ho, ma solo di test. Diciamo che vorrei bloccare l'ordinamento della 1° colonna dove ho un checkbox come prima cosa e poi vorrei sapere come recupero da PHP (con il metodo GET) i dati sull'ordinamento delle colonne. Cioè se clicco sull'ordinamento della colonna cosa mi arriva al php tramite GET?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

  4. #4
    comunque giusto per aiutare chi mi vuole aiutare... la pagina html delle tabelle è una solita di esempio presa dal sito con modificato solo il richiamo JS a DataTables mentre il PHP è la pagina che invia i dati all'ajax e credo che sia abbastanza chiara: tiro giu i valori passati dal GET faccio un ciclo che parte da $star che se non è passato via GET vale 1 a $fine che è lo start piu i record visualizzati. Nel ciclo mi creo i finti dati della tabella (quelli che prenderei dal DB) e poi tramite JSON rimando al DataTables. Piu chiaro ora?
    La fantasía, abandonada de la razón, produce monstruos imposibles; unida con ella es madre de las artes y origen de las maravillas.
    (Francisco Goya)
    ----------------------------------------
    http://www.mangioebevo.it
    http://www.definitives.org

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.