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.
Fino a quando testo il sito in locale funziona (anche se magari devo refreshare un paio di volte prima di vedere la pagina. Ma quando lo provo su siteground vedo solo il messaggio che dice che nessuno è presente. In una altra pagina molto simile ho lo stesso identico problema solo che in quel caso c'è anche un form che quando viene inviato fa funzionare anche tutto il resto e non so perchè dato che non dovrebbero essere collegate le due cose.
Premetto che non conosco bene il php quindi se doveste avere qualunque altro consiglio sarò ben felice di acettarlo
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:
$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>';
}
Fino a quando testo il sito in locale funziona (anche se magari devo refreshare un paio di volte prima di vedere la pagina. Ma quando lo provo su siteground vedo solo il messaggio che dice che nessuno è presente. In una altra pagina molto simile ho lo stesso identico problema solo che in quel caso c'è anche un form che quando viene inviato fa funzionare anche tutto il resto e non so perchè dato che non dovrebbero essere collegate le due cose.
Premetto che non conosco bene il php quindi se doveste avere qualunque altro consiglio sarò ben felice di acettarlo