Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2021
    Messaggi
    2

    dati non aggiornati dal database.

    Ciao a tutti,

    ho un problema con un sito web che sto scrivendo, in poche parole all'apertura della pagina uno script php deve recuperare tutti i dati degli utenti presenti al momento e fare una lista, in alternativa dovrebbe far vedere un messaggio in cui dice che non c'è nessuno presente

    Codice PHP:
    $mysqli = new mysqli('localhost''sito_prenotazione''prova''aule_studenti');
    if (
    $mysqli->connect_error) {
        echo 
    '<div class="alert alert-danger mt-5 mx-auto col-md-5" role="alert">
        Spiacenti non è stato possibile contattare il server.</br> Preghiamo di riprovare più tardi. </br>
        Se il problema dovesse persistere si prega di contattare aulestudenti@gmail.com
      </div>'
    ; }

      
    $now = new DateTime();
      
    $giorno $now->format('Y-m-d');
      
    $ora $now->format('H:i');







     
        
    $lista $mysqli -> query("SELECT nome, cognome, tesserati.tessera, volontario, pagamento  FROM tesserati JOIN presenza  ON tesserati.tessera = presenza.tessera WHERE '$ora' > ora_inizio AND '$ora' < ora_fine AND data = '$giorno' ");
        if(
    $lista -> num_rows 0){
            echo 
    '<div class="accordion col-md-8 mx-auto mt-5" id="accordionPanelsStayOpenExample">';
            while(
    $row $lista->fetch_array(MYSQLI_ASSOC)){
                 
    // default su si perchè viene modificato solamente in caso di pagamento non effettuato
                
    echo '
                <div class="accordion-item">
                <h2 class="accordion-header" id="panelsStayOpen-heading'
    .$row["tessera"].'">
                  <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#panelsStayOpen-collapse'
    .$row["tessera"].'" aria-expanded="true" aria-controls="panelsStayOpen-collapse'.$row["tessera"].'">'
                    
    .$row["nome"]. '  '.$row["cognome"];
                    if(
    $row["volontario"] != 0){
                        echo 
    '<span class=" badge rounded-pill bg-success ms-2">volontario</span>';
                    }
                   if(!
    $row["pagamento"]){
                        echo 
    '<span class=" badge rounded-pill bg-danger ms-2">Pagamento</span>';
                    }

                    echo 
    '
                  </button>
                </h2>
                <div id="panelsStayOpen-collapse'
    .$row["tessera"].'" class="accordion-collapse collapse " aria-labelledby="panelsStayOpen-heading'.$row["tessera"].'">
                  <div class="accordion-body">
                    <ul class="list-group">
                    <li class="list-group-item"> Tessera:  '
    .$row["tessera"].'</li>
                  </ul>
                  </div>
                </div>
              </div>
                '
    ;
            }

            echo 
    '</div>';

       

        }else{
            echo 
    '<div class="alert alert-danger mt-5 mx-auto col-md-5" role="alert" >
                  Nessuno presente.
                   </div>'
    ;
        } 
    il problema è che quando carico questa pagina i dati non sono aggiornati. ad esempio il questo momento fa vedere i dati di questa mattina invece che quelli attuali. Non riesco però a capire cosa io abbia sbagliato (non conosco molto bene il php quindi se vedete errori anche non direttamente collegati al problema sono felice di accettare i consigli) anche perchè fino a che lo provavo su localhost funzionava, aveva bisogno di un paio di refresh per aggiornare la lista ma alla fine funzionava tutto. Il problema è presente anche su un'altra pagina dove però è presente anche un form e quando si fa submit di quest'ultimo i dati vengono aggiornati. In questo momento il sito è su siteground e ho notato anche un incoerenza sugli orari che risultano di due ore antecedenti alla registrazione effettiva. Non so se possa avere a che fare con questo.

    Ringrazio chiunque sia disposto ad aiutare

  2. #2
    Moderatore di PHP L'avatar di Alhazred
    Registrato dal
    Oct 2003
    Messaggi
    12,445
    Ciao, sembra un problema di confronti, assicurati che giorno ed ora abbiano lo stesso formato nel DB e nelle variabili PHP con le quali le confronti.
    Ad esempio mi verrebbe da controllare che per entrambi l'orario sia effettivamente nel formato 24h, altra cosa che non sia un problema di fuso orario, magari pensi di fare un confronto alle 12:00 perché è ciò che vedi nell'orologio del PC, ma Apache è impostato su un altro fuso e quindi secondo PHP è un'altra ora.

    Stampa le variabili, assicurati che abbiano i valori che ti aspetti e confrontali a mano con quelli nel DB.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2021
    Messaggi
    2
    risolto il problema del ingresso ad orari sballati grazie mille.

    però l'altro no. sembra quasi che non carichi il php quando viene caricata la pagina. però solo in alcuni casi. in questa pagina e un altra. funziona tutte le volte che utilizzo un form prima ad esempio per prenotarsi o cose così

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 © 2024 vBulletin Solutions, Inc. All rights reserved.