Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Problemi con date

  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654

    Problemi con date

    Ho costruito una tabella, dove nell'intestazione in alto vengono mostrate le date stabilite in un certo range (attraverso un form), mettiamo dal 1 aprile al 15 aprile. Devo recuperare dati in un database che sono compresi in questo intervallo, quindi visualizzare ogni dato sotto il rispettivo giorno.

    Questo è il codice adoperato per trovare l'intervallo: between '$data_iniziale' and '$data_finale'.
    Avrei pensato di creare un ciclo for, in modo che estragga in automatico il risultato fino a esaurimento dell'intervallo. Però non riesco a capire come possa essere la sintassi... Cioè, come faccio a dirgli: "continua a estrarre il risultato partendo dalla data iniziale finchè non arrivi alla data finale"?

  2. #2
    proviamo...
    Codice PHP:
    $data_iniziale '';
    while(
    $row mysql_fetch_array($result))
    {
      if(
    $row['data']!=$data_iniziale)
      {
        echo 
    '<tr><td>'.$row['data'].'</td></tr>'//*
      
    } else {
        echo 
    '<tr>';
        echo 
    '<td>'.$row['testo'].'</td>';//**
        
    echo '</tr>';
      }
      
    $data_iniziale $row['data'];

    *: ricorda che se sotto alla data dovrai mettere più colonne, nel tag "TD" dovrai specificare il COLSPAN

    **: questa parte va ripetuta per ogni dato che vorrai mettere nella tabella.
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    :master:
    Ci sono alcuni passaggi che mi sfuggono... Mostro le parti che ho scritto e che riguardano questo codice:

    Codice PHP:
    $q "SELECT * FROM valutazioni WHERE Valutazione_classe='$classe' AND Valutazione_data_voto between '$data_iniziale' and '$data_finale'";
    $query mysql_query($q) or die(mysql_error());
    $num mysql_num_rows($query);

    for(
    $i=0;$i<$num;$i++){;
        
    $data=mysql_result($query,$i"Valutazione_data_voto between '$data_iniziale' and '$data_finale'");
        
    /*[...] altre variabili da estrapolare*/
        
    echo "<tr>"
            
    $data_iniziale ''
            while(
    $row mysql_fetch_array($query)) 
                              { 
                              if(
    $row[$data]!=$data_iniziale
                                      {     
                                          echo 
    "<tr><td>".$row[$data]."</td></tr>"
                              } else {     
                                          echo 
    "<tr>"
                                          echo 
    "<td>".$row[$voto]."</td>";
                                          echo 
    "</tr>"
                              } 
                              
    $data_iniziale $row[$data]; 
            }
        echo 
    "</tr>";

    Sono un dilettante, quindi di sicuro ci sono errori di forma, che posso risolvere in seguito da solo. Quello che mi interessa è capire dove sbaglio nel concetto... Per esempio, possono essere esatte le variabili che ho sostituito nella parte di codice che mi hai mostrato?

    A proposito, grazie per la disponibilità

  4. #4
    vediamo...

    Codice PHP:
    $q "SELECT * FROM valutazioni WHERE Valutazione_classe='$classe' AND Valutazione_data_voto between '$data_iniziale' and '$data_finale'";
    $query mysql_query($q) or die(mysql_error());

    /*$num = mysql_num_rows($query);
    for($i=0;$i<$num;$i++){;
    $data=mysql_result($query,$i, "Valutazione_data_voto between '$data_iniziale' and '$data_finale'");
    [...] altre variabili da estrapolare*/

    echo '<tr>';
    $data_iniziale ''
    while(
    $row mysql_fetch_array($query)) 

      if(
    $row['Valutazione_data_voto']!=$data_iniziale
      {     
        echo 
    '<tr><td>'.$row['Valutazione_data_voto'].'</td></tr>'
      } else {     
        echo 
    '<tr>'
        echo 
    '<td>'.$row['Valutazione_data_voto'].'</td>';
        echo 
    '</tr>'
      } 
        
    $data_iniziale $row['Valutazione_data_voto']; 
    }
    echo 
    '</tr>'
    prova in questo modo se può andare bene.
    Piccolo consiglio: quando utilizzi una funzione che da un output a schermo (es. ECHO) usa i doppi apici solo se all'interno di ciò che vuoi scrivere c'è anche una variabile:
    Codice PHP:
    $prova 'ciao';
    echo 
    "oggi ho detto $prova"// Restituirà: "oggi ho detto ciao"
    echo 'oggi ho detto $prova'// Restituirà: "oggi ho detto $prova" 
    "Una volta che si saranno esaurite senza successo tutte le possibilita', ci sara' una soluzione, semplice e ovvia, che saltera' immediatamente all'occhio di chiunque altro."

    Guardate: Il Miracolo delle Noci!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2005
    Messaggi
    654
    Sono riuscito a farlo andare!

    Grazie (anche per il consiglio)

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.