• User Attivo

    Stampare risultati di una query a poco a poco

    Ragazzuoli ho ancora una volta bisogno dei vostri saggi consigli.
    Allora, vado subito al dunque:
    Esempio:
    ho una galleria di foto con 100 foto;
    eseguo la query per visualizzarle ordinandole per data di inserimento;
    Obiettivo da raggiungere:
    devo poter far visualizzare la galleria in questo modo:
    5-01-2009:
    stampo le 20 foto aggiunte quella data;
    2-01-2009:
    stampo le 50 foto aggiunte quella data;
    1-01-2009:
    stampo le 30 foto aggiunte quella data;
    ***Come fare? Quale diaboliche istruzioni devo utilizzare?
    ***Cioè non penso sia difficile, poiché la query è già ordinata in quel modo, solo non so come effettuare la stampa raggruppando in quel modo.

    Spero di esser stato abbastanza chiaro...
    Aiutatemi voi vi pregoooooooooo! 🙂


  • User Attivo

    Prova così:
    $SQL = "SELECT * FROM tabella GROUP BY data ORDER BY id DESC";


  • User Attivo

    Ma con quella query non risolvo niente!
    La query ce l'ho già funzionante quello che non so è come stampare le foto suddividendole a schermo, come ho fatto vedere sopra.


  • User Attivo

    Dai ragazzi non sono riuscito ancora a trovare una soluzione...
    Proprio non avete idee? Vi prego 😞


  • User Attivo

    @Japgalaxy said:

    Ma con quella query non risolvo niente!
    La query ce l'ho già funzionante quello che non so è come stampare le foto suddividendole a schermo, come ho fatto vedere sopra.

    Forse adesso ho capito cosa vuoi. VEDIAMO LA PRIMA COSA CHE MI VIENE IN MENTE
    // LA TABELLA DICIAMO CHE E' COMPOSTA DA CAMPI CHE IO CHIAMERO'
    // 1 - id INT AUTOINCREMENT
    // 2 - **data **DATE 00-00-0000
    // 3 - **img **VARCHAR(100)
    // 4 - altimg VARCHAR(100)

    // AVREMO BISOGNO DI DUE CICLI

    $DATA = "SELECT DISTINCT(data) AS data_ok FROM tabella ORDER BY data DESC";
    $QDATA = mysql_query($DATA,$CONN);
    while(($OBJD = mysql_fetch_object($QDATA)))
    {
    $DX = ($OBJD->data_ok); // LA DATA
    $ANNO = $DX[0].$DX[1].$DX[2];DX[3];
    $MESE = $DX[5].$DX[6];
    $GIORNO = $DX[8].$DX[9];
    $DATA_ITA = $GIORNO."/".$MESE."/".$ANNO;

    echo $DATA_ITA; // VISUALIZZO LA DATA
    echo "<br>"; // E VADO A CAPO

    $X = 1; // PER LA VISUALIZZAZIONE DELLE IMMAGINI ELENCATE
    $SQL = "SELECT * FROM tabella WHERE data='$DX' ORDER BY id DESC";
    $QUERY = mysql_query($SQL,$CONN);
    while(($OBJ = mysql_fetch_object($QUERY)))
    {
    // PRENDO I VALORI CHE MI SERVONO DAL DATABASE
    $IMG = ($OBJ->img); // NOME DELL'IMMAGINE
    $ALTIMG = ($OBJ->altimg); // TITOLO IMMAGINE
    // ADESSO CI SERVE SAPERE DOVE SONO LE IMMAGINI
    $DIR = "directoryIMG/" . $IMG;
    if ($X % 4 == 0) // IL NUMERO 4 INDICA DOPO QUANTE IMMAGINI VOGLIO ANDARE A CAPO
    {
    // VISUALIZZO LE IMMAGINI RELATIVE ALLA DATA E VADA A CAPO DOPO LA QUARTA IMMAGINE
    echo "<img src='$DIR' width='100' height='100' hspace='10' vspace='10' border='0' align='absmiddle' title='$ALTIMG'><br>";
    }
    else
    {
    // VISUALIZZO LE IMMAGINI RELATIVE ALLA DATA AFFINCHE' ARRIVO ALLA QUARTA IMMAGINE
    echo "<img src='$DIR' width='100' height='100' hspace='10' vspace='10' border='0' align='absmiddle' title='$ALTIMG'>";
    }
    $X++;
    } // CHIUDO WHILE INCLUSO
    } // CHIUDO PRIMO WHILE

    PER QUANTO RIGUARDA L'EVENTUALE RIDIMENSIONE DELLE IMMAGINI E' OPPORTUNO FARE UN CONTROLLO SULLE DIMENSIONI EFFETTIVE


  • User Attivo

    Alla fine ho risolto in un modo molto più semplice 😄
    Ho semplicemente aggiunto alla query un "ORDER BY data DESC";

    E poi, durante il ciclo che mi visualizza le immagini fatto ciò:

            
    $datafoto = convertidata($picture->data);
            if ($ultimadata==""){
                $ultimadata = convertidata($picture->data);
                $out .= '<h2 align="center" class="galdata">'.$ultimadata.'</h2>';
            } else if ($ultimadata!=$datafoto){
                $ultimadata = $datafoto;
                $out .= '<h2 align="center" class="galdata">'.$ultimadata.'</h2>';
            }
    
    

    Così facendo prima di ogni gruppo di foto con data diversa mi verrà stampata la data. Lo stesso discorso non appena essa cambia...
    Grazie lo stesso per il supporto! 😉