+ Rispondi alla Discussione
Risultati da 1 a 14 di 14

raggruppare per mese

Ultimo Messaggio di cali1981 il:
  1. #1
    Utente Premium
    Data Registrazione
    Mar 2007
    Località
    Catania
    Messaggi
    731

    raggruppare per mese

    Ciao a tutti come faccio a creare una pagina del genere(nuotosicilia.altervista.org/archivio.html) in php?
    cioè raggruppando le notizie per mese ed anno?
    grazie!!!

  2. #2
    Esperto L'avatar di Sups
    Data Registrazione
    May 2007
    Località
    Pesaro
    Messaggi
    572
    Se le notizie sono contenute all'interno di un database MySQL puoi usare una query di questo tipo:

    SELECT * FROM notizie ORDER BY anno DESC, mese DESC;

    Ciao!
    Now is the time for all good men to come to the aid of their country!

  3. #3
    Utente Premium
    Data Registrazione
    Mar 2007
    Località
    Catania
    Messaggi
    731
    io le estraggo così:
    Codice PHP:
    SELECT FROM news WHERE data<='".$oggi."' ORDER BY data DESCidNews DESC 
    ma raggrupparle in quel modo non lo so fare....

  4. #4
    Esperto
    Data Registrazione
    Mar 2006
    Località
    Perugia
    Messaggi
    1,742
    Una volta estratte, le scorri una per una e appena trovi un nuovo mese metti al relativa intestazione.

  5. #5
    User Attivo
    Data Registrazione
    Dec 2004
    Località
    abito sulla luna e ogni volta che mi telefono è un'interrurbana
    Messaggi
    2,413
    ciao,
    ponendo che il campo data si chiami mydata:
    Codice:
    select count(*) as numero from tabella group by month(mydata)
    in questo modo hai raggruppato i record per mese.

    estrarre solo i record che hanno un determinato mese:
    Codice:
    select * from tabella where month(mydata) = $mese

    in questo modo estrai solo gli articoli di un determinato mese

    altri comandi interessanti sono day(), year().


    una ricerchina su gg ti aiuterà a vedere tutti gli altri comandi per gestire le date all'interno di una istruzione sql.

    ciao ciao

  6. #6
    Utente Premium
    Data Registrazione
    Mar 2007
    Località
    Catania
    Messaggi
    731
    Citazione Originariamente Scritto da cali1981 Visualizza Messaggio
    Una volta estratte, le scorri una per una e appena trovi un nuovo mese metti al relativa intestazione.
    mi aiuti a farlo per favore perchè non mi è chiaro....

  7. #7
    Esperto
    Data Registrazione
    Mar 2006
    Località
    Perugia
    Messaggi
    1,742
    Allora, come detto, fai la select ordinando per data. Poi fai un ciclo while da cui estrai un riga per volta. A quel punto potresti salvarti il mese che estrai daogni riga. Quando estrai la successiva, fai il confronto, e se è diverso, visualizzi nella pagina l'intestazione del mese.

  8. #8
    Utente Premium
    Data Registrazione
    Mar 2007
    Località
    Catania
    Messaggi
    731
    vediamo se così va bene:

    Codice PHP:
    <?php
        $query
    ="SELECT * FROM news WHERE data<='".$oggi."' ORDER BY data DESC, idNews DESC";
        
    $ris=@mysql_query($query);
        while(
    $riga=mysql_fetch_array($ris)){
            
    $id=$riga['idNews'];
            
    $titolo=$riga['titolo'];
                    
    $mese=substr($riga['data'],5,2);
            
    $link=$riga['link'];
            echo 
    "<li>
                <p class='MsoNormal' style='text-align: justify; margin-top: 0; margin-bottom: 0'>
                <b><span style='font-family: Verdana'><font size='1'>
                <a "
    ;
                    if (
    $link=='')
                        echo 
    "href='leggi.php?idNews=$id'";
                    else
                        echo 
    "href='$link' target='_blank'";
                echo 
    ">$titolo</a></font></span></b></li>";
        }
    ?>
    e ora??

  9. #9
    Esperto
    Data Registrazione
    Mar 2006
    Località
    Perugia
    Messaggi
    1,742
    Codice PHP:
    <?php
        $query
    ="SELECT * FROM news WHERE data<='".$oggi."' ORDER BY data DESC, idNews DESC";
        
    $ris=@mysql_query($query);
        
    $mese_precendete '';
            while(
    $riga=mysql_fetch_array($ris)){
            
    $id=$riga['idNews'];
            
    $titolo=$riga['titolo'];
                    
    $mese=substr($riga['data'],5,2);
                    if(
    $mese_precendete != $mese) {
                         echo 
    '<h1>Mese $mese</h1>';
                         
    $mese_precendete $mese;
                    }
            
    $link=$riga['link'];
            echo 
    "<li>
                <p class='MsoNormal' style='text-align: justify; margin-top: 0; margin-bottom: 0'>
                <b><span style='font-family: Verdana'><font size='1'>
                <a "
    ;
                    if (
    $link=='')
                        echo 
    "href='leggi.php?idNews=$id'";
                    else
                        echo 
    "href='$link' target='_blank'";
                echo 
    ">$titolo</a></font></span></b></li>";
        }
    ?>

  10. #10
    Utente Premium
    Data Registrazione
    Mar 2007
    Località
    Catania
    Messaggi
    731
    ok aspetta che provo e ti faccio sapere.
    Grazie!!

  11. #11
    Esperto
    Data Registrazione
    Mar 2006
    Località
    Perugia
    Messaggi
    1,742
    di niente! Considera che non l'ho provato quindi forse qualche aggiustamento ci vuole...

  12. #12
    Utente Premium
    Data Registrazione
    Mar 2007
    Località
    Catania
    Messaggi
    731
    ma c'è una funzione in php che mi visualizza invece di 03-->Marzo?

  13. #13
    Utente Premium
    Data Registrazione
    Mar 2007
    Località
    Catania
    Messaggi
    731
    grazie!!! funziona!!!

  14. #14
    Esperto
    Data Registrazione
    Mar 2006
    Località
    Perugia
    Messaggi
    1,742
    Di niente! Buon proseguimento!

+ Rispondi alla Discussione

^ Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •  
  • Il codice BB è Attivato
  • Le faccine sono Attivato
  • Il codice [IMG] è Attivato
  • Il codice [VIDEO] è Attivato
  • Il codice HTML è Disattivato
  • Trackbacks Attivato
  • Pingback Attivato
  • Refback Attivato

SEO by vBSEO 3.6.0 PL2 ©2011, Crawlability, Inc.