Navigazione

    Privacy - Termini e condizioni
    © 2020 Search On Media Group S.r.l.
    • Registrati
    • Accedi
    • CATEGORIES
    • Discussioni
    • Non letti
    • Recenti
    • Hashtags
    • Popolare
    • Utenti
    • Stream
    • Interest
    • Categories
    1. Home
    2. Categorie
    3. Coding e Sistemistica
    4. Coding
    5. raggruppare per mese
    Questa discussione è stata cancellata. Solo gli utenti con diritti di gestione possono vederla.
    • T
      talkoman User Attivo • ultima modifica di

      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!!!

      0 Miglior Risposta Ringrazia Cita Rispondi

        1 Risposta Ultima Risposta
      • S
        sups User Attivo • ultima modifica di

        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!

        0 Miglior Risposta Ringrazia Cita Rispondi

          1 Risposta Ultima Risposta
        • T
          talkoman User Attivo • ultima modifica di

          io le estraggo così:
          [PHP]SELECT * FROM news WHERE data<='".$oggi."' ORDER BY data DESC, idNews DESC[/PHP]
          ma raggrupparle in quel modo non lo so fare....

          0 Miglior Risposta Ringrazia Cita Rispondi

            1 Risposta Ultima Risposta
          • C
            cali1981 Super User • ultima modifica di

            Una volta estratte, le scorri una per una e appena trovi un nuovo mese metti al relativa intestazione.

            0 Miglior Risposta Ringrazia Cita Rispondi

              1 Risposta Ultima Risposta
            • T
              tymba Super User • ultima modifica di

              ciao,
              ponendo che il campo data si chiami mydata:

              
              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:

              
              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

              0 Miglior Risposta Ringrazia Cita Rispondi

                1 Risposta Ultima Risposta
              • T
                talkoman User Attivo • ultima modifica di

                @cali1981 said:

                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....

                0 Miglior Risposta Ringrazia Cita Rispondi

                  1 Risposta Ultima Risposta
                • C
                  cali1981 Super User • ultima modifica di

                  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.

                  0 Miglior Risposta Ringrazia Cita Rispondi

                    1 Risposta Ultima Risposta
                  • T
                    talkoman User Attivo • ultima modifica di

                    vediamo se così va bene:

                    [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>";
                    }
                    ?>[/PHP]

                    e ora??

                    0 Miglior Risposta Ringrazia Cita Rispondi

                      1 Risposta Ultima Risposta
                    • C
                      cali1981 Super User • ultima modifica di

                      [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>";
                      }
                      ?>[/PHP]

                      0 Miglior Risposta Ringrazia Cita Rispondi

                        1 Risposta Ultima Risposta
                      • T
                        talkoman User Attivo • ultima modifica di

                        ok aspetta che provo e ti faccio sapere.
                        Grazie!!

                        0 Miglior Risposta Ringrazia Cita Rispondi

                          1 Risposta Ultima Risposta
                        • C
                          cali1981 Super User • ultima modifica di

                          di niente! Considera che non l'ho provato quindi forse qualche aggiustamento ci vuole...

                          0 Miglior Risposta Ringrazia Cita Rispondi

                            1 Risposta Ultima Risposta
                          • T
                            talkoman User Attivo • ultima modifica di

                            ma c'è una funzione in php che mi visualizza invece di 03-->Marzo?

                            0 Miglior Risposta Ringrazia Cita Rispondi

                              1 Risposta Ultima Risposta
                            • T
                              talkoman User Attivo • ultima modifica di

                              grazie!!! funziona!!!

                              0 Miglior Risposta Ringrazia Cita Rispondi

                                1 Risposta Ultima Risposta
                              • C
                                cali1981 Super User • ultima modifica di

                                Di niente! Buon proseguimento!

                                0 Miglior Risposta Ringrazia Cita Rispondi

                                  1 Risposta Ultima Risposta
                                Caricamento altri post
                                Rispondi
                                • Topic risposta
                                Effettua l'accesso per rispondere
                                • Da Vecchi a Nuovi
                                • Da Nuovi a Vecchi
                                • Più Voti