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

    Selezione eventi mensili

    Ciao a tutti!
    Sto cercando di implementare un modulo per la segnalazione di articoli abbastanza semplice, in cui al posto del classico calendario vi sia solo l'elenco dei testi con la possibilità di sfogliarli in relazione al mese di uscita.
    Mi sono perso però in un bicchier d'acqua: non riesco a capire come selezionare solo gli articoli di un certo mese. Ora infatti, nonostante cambi il mese, lo script mi visualizza tutti gli articoli presenti nel DB e non riesco a capire come sfruttare il campo data!
    Ho spulciato freephp e il forum, ma non ho trovato molto, sempre ammesso di aver cercato bene...
    Come posso fare? Qui potete scaricare il modulo:

    http://digilander.libero.it/antrocom/newsstand.zip

    male che vada può servire ad altri anche se il codice non è un granchè! I file principali sono index.php per la visualizzazione dei record e admin.php per il loro inserimento. Gli altri file, a parte il .sql per la costruzione delle tabelle, sono funzioni di cui ha bisogno admin.php e che devo ancora integrare in un solo script!
    Antropologia? Sì, grazie!
    http://www.antrocom.org

  2. #2
    Scusatemi ma non ne vengo fuori: ho fatto un po' di prove arrampicandomi sugli specchi, ma non ci arrivo proprio.
    Nel DB dove vengono inseriti gli articoli vi è un solo campo data.
    Per creare la barra di navigazione tra i mesi dell'anno ho utilizzato questo codice:

    codice:
      if (!isset($month) || $month == "" || $month > 12 || $month < 1)
       {
          $month = date("m");
    	  
       }
       if (!isset($year) || $year == "" || $year < 1972 || $year > 2036)
       {
          $year = date("Y");
       }
    
       $timestamp = mktime(0, 0, 0, $month, 1, $year);
       $current = date("F Y", $timestamp);
    
       if ($month < 2)
       {
          $prevmonth = 12;
          $prevyear = $year - 1;
       }
       else
       {
          $prevmonth = $month - 1;
          $prevyear = $year;
       }
    
       if ($month > 11)
       {
          $nextmonth = 1;
          $nextyear = $year + 1;
       }
       else
       {
          $nextmonth = $month + 1;
          $nextyear = $year;
       }
    
       $first = date("w", mktime(0, 0, 0, $month, 1, $year));
       $lastday = 28;
    
       for ($i=$lastday;$i<32;$i++)
       {
          if (checkdate($month, $i, $year))
          {
             $lastday = $i;
          }
       }
    Mentre la query per estrarre i dati dal DB è:

    codice:
    $numero="SELECT envo_newsstand.newsid, date_format(envo_newsstand.data, '%d/%m/%Y') as data_it, envo_newsstand.topicname, envo_newsstand.title, envo_newsstand.author, envo_newsstand.descr, envo_newsstand.reviewname, envo_newsstand.issue, envo_newsstand.posted, envo_newsstand_rev.reviewimage, envo_newsstand_rev.link FROM envo_newsstand, envo_newsstand_rev WHERE envo_newsstand.reviewname = envo_newsstand_rev.reviewname ORDER BY envo_newsstand.newsid DESC";
    La barra di navigazione funziona, ma con questa query ovviamente non mi vengono restituiti solo i dati relativi al mese voluto, ma tutti i dati inseriti nel database. Il mio problema quindi è condizionare l'estrazione dei dati dal DB in base alla data.
    E qui mi perdo: come selezionare i dati in bas al solo mese? :master:
    Antropologia? Sì, grazie!
    http://www.antrocom.org

  3. #3
    Alla fine ho risolto creando nel Db un nuovo campo in cui specificare il mese di pubblicazione. In questo modo col SELECT dal DB ho visualizzato solo le righe che avevano il mese corrente.
    Lascio in download il modulo (buono! ) visto che potrebbe servire ad altri... almeno finchè avrò abbastanza spazio!
    Non sarebbe una cattiva cosa che venisse migliorato da qualcuno!
    Antropologia? Sì, grazie!
    http://www.antrocom.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 © 2025 vBulletin Solutions, Inc. All rights reserved.