• User

    [Script] Tabella:ordinare le righe a seconda dell'ordine alfanumerico della colonna

    Scopo: in una tabella, ordinare le righe a seconda dell'ordine alfanumerico di una colonna.

    Codice prima del DOCTYPE
    [php]<?php
    //Per questo eempio utilizzarò colonna1 e colonna2 va da se che lo script sottostante è utilizzable per n-colonne.
    //E' sufficente inserirle nello script seguente, seguendo la "forma" che hano le altre nel codice.

    //CONNESSONE AL DATABASE
    include("connessione.php");

    //Se la variabile
    if(empty($_GET['ordercampo'])){$_GET['ordercampo']="id_chiaveprimaria";}

    if(empty($_GET['order'])){$_GET['order']="asc"; }

    //Questi due if:
    //permetto lo SCAMBIO fra l'ordinamento crescente e decresente, ciò è possibile semplicemente cliccando sopra la prima riga contenente il link della colonna desiderata "colonna1", "colonna2"
    if($_GET['order']=="asc") {$ordinaVerso="desc";}
    if($_GET['order']=="desc") {$ordinaVerso="asc";}

    //Query: notare l'SQL: ORDER BY $_GET[ordercampo] $ordinaVerso
    $query=mysql_query("SELECT colonna1, colonna2, ecc.ecc. FROM tabella1, tabella2 ecc.ecc. WHERE eventualemnte il where ORDER BY $_GET[ordercampo] $ordinaVerso",$db);
    $riga_query=mysql_fetch_assoc($query) or die("impossibile mysql_fetch_assoc: $sql<br>". mysql_error());
    ?>[/php]Codice fra i tag <body></body>
    [php]
    <table id="tabella_risposta">
    <tr>
    <td><a href="link_a_se_stesso.php?ordercampo=<?php echo('colonna1'); ?>&order=<?php echo($ordinaVerso); ?>" title="Inverti ordinamento">Colonna1</a></td>
    <td><a href="link_a_se_stesso.php?ordercampo=<?php echo('colonna2'); ?>&order=<?php echo($ordinaVerso); ?>" title="Inverti ordinamento">Colonna2</a></td>
    </tr>

    <!-- @@@ INIZIO: Cotruzione della tabella mediante DO...WHILE oppure WHILE @@@ -->
    <tr>
    <?php $id_chiaveprimaria=$riga_query['id_chiaveprimaria']; ?>
    <td>contenuto colonna1 proveniente dal ciclo PHP</td>
    <td>contenuto colonna2 proveniente dal ciclo PHP</td>
    </tr>
    <!-- @@@ FINE: Cotruzione della tabella mediante DO...WHILE oppure WHILE @@@ -->
    </table>
    [/php]