Buongiorno a tutti,
Scrivo per chiedere un aiuto con un codice...
nello specifico nella mia pagina ho una tabella che si autocopila attraverso un ciclo while ed i risultati di una query sul mio db.
ho la necessità di far aggiornare il contenuto della mia tabella ogni 3 secondi questo perchè al click su ogni singola riga questa esegue una query di update e fa si che la riga non venga più letta dalla query precedente.
la tablella ha un js che mi consente di vedere solo X risultati per volta e mi consente di eseguire delle ricerche all'interno della stessa.
Se io eseguo la query direttamente nella pagina dove è contenuta la struttura della tabella, il tutto funziona...ma on so come poter eseguire l'auto aggiornamento
Codice PHP:
<div class="module">
<div class="module-head">
<h3>Numeri da lavorare</h3>
</div>
<div class="module-body table">
<table cellpadding="0" cellspacing="0" border="0" class="datatable-1 table table-bordered table-striped display"width="100%">
<thead>
<tr>
<th>
Numero di telefono
</th>
</tr>
</thead>
<tbody id="Container">
<?php
$sql_query = "SELECT * FROM $nome_tabella WHERE messaggio_inviato='' ORDER BY $nome_tabella.`id` ASC";
$risultato_query = $mysqli -> query($sql_query);
$numero_risultati_query = $risultato_query->num_rows;
while ($row = $risultato_query->fetch_array(MYSQLI_ASSOC)) {
# variabili
?>
<tr class="odd gradeX">
<td>
<form class="form-vertical" action="registra_invio.php" method="get" target="_blank">
<input name="invia" type="submit" value="<?php echo strtoupper($row['numero']) ?>" style="background-color: transparent; border: none; width:100%; text-align: left;">
<input type="text" name="id" value="<?php echo strtoupper($row['id']) ?>" style="visibility: hidden; readonly">
<input type="text" name="numero" value="<?php echo strtoupper($row['numero']) ?>" style="visibility: hidden; readonly">
<input type="text" name="messaggio" value="<?php echo $messaggio ?>" style="visibility: hidden; readonly">
<input type="text" name="nome_tabella" value="<?php echo $nome_tabella ?>" style="visibility: hidden; readonly">
</form>
</td>
</tr>
<?php
$i++;
}
?>
</tbody>
<tfoot>
<tr>
<th>
Numero di telefono
</th>
</tr>
</tfoot>
</table>
</div>
al contrario
se separo le pagine in questo modo:
Codice HTML:
<div class="module">
<div class="module-head">
<h3>
Numeri da lavorare</h3>
</div>
<div class="module-body table">
<table cellpadding="0" cellspacing="0" border="0" class="datatable-1 table table-bordered table-striped display"width="100%">
<thead>
<tr>
<th>
Numero di telefono
</th>
</tr>
</thead>
<tbody id="Container">
</tbody>
<tfoot>
<tr>
<th>
Numero di telefono
</th>
</tr>
</tfoot>
</table>
</div>
Codice PHP:
<?php
session_start();
include("aggancio_db.php");
switch($_SESSION['nome_utente']){
case "":
$nome_utente=$_GET['inputEmail'];
$password=$_GET['inputPassword'];
$_SESSION['nome_utente']=$nome_utente;
$_SESSION['password']=$password;
break;
default:
$nome_utente=$_SESSION['nome_utente'];
$password=$_SESSION['password'];
break;
}
$query = "SELECT * FROM UTENTI WHERE username='".$nome_utente."' && password='".$password."' && stato_account!='bloccato'";
$risultato_query = $mysqli -> query($query);
$numero_risultati_query = $risultato_query->num_rows;
$nome_parametro_ricercato_per_funzione = $risultato_query -> fetch_assoc();
$username=$nome_parametro_ricercato_per_funzione["username"];
$password=$nome_parametro_ricercato_per_funzione["password"];
$negozio=$nome_parametro_ricercato_per_funzione["negozio"];
$messaggio=$nome_parametro_ricercato_per_funzione["messaggio"];
$stato_account=$nome_parametro_ricercato_per_funzione["stato_account"];
$nome_tabella ="contatti_".$negozio;
$i=0;
$sql_query = "SELECT * FROM $nome_tabella WHERE messaggio_inviato='' ORDER BY $nome_tabella.`id` ASC";
$risultato_query = $mysqli -> query($sql_query);
$numero_risultati_query = $risultato_query->num_rows;
while ($row = $risultato_query->fetch_array(MYSQLI_ASSOC)) {
# variabili
?>
<tr class="odd gradeX">
<td>
<form class="form-vertical" action="registra_invio.php" method="get" target="_blank">
<input name="invia" type="submit" value="<?php echo strtoupper($row['numero']) ?>" style="background-color: transparent; border: none; width:100%; text-align: left;">
<input type="text" name="id" value="<?php echo strtoupper($row['id']) ?>" style="visibility: hidden; readonly">
<input type="text" name="numero" value="<?php echo strtoupper($row['numero']) ?>" style="visibility: hidden; readonly">
<input type="text" name="messaggio" value="<?php echo $messaggio ?>" style="visibility: hidden; readonly">
<input type="text" name="nome_tabella" value="<?php echo $nome_tabella ?>" style="visibility: hidden; readonly">
</form>
</td>
</tr>
<?php
$i++;
}
?>
come script per l'auto aggiornamento uso questo:
Codice HTML:
<script>
function myFunction() {
setInterval(function(){
var request = new XMLHttpRequest();
request.open('POST', 'testo.php', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
var resp = request.responseText;
document.querySelector('#Container').innerHTML = resp;
}
};
request.send();
}, 500);
}
</script>
l'auto aggiornamento funziona ma non funziona più la "struttura tabella"
http://whatsapppiva.altervista.org/nuovo
username: test
password: test
Spero in un vostro aiuto
Grazie in anticipo