Visualizzazione risultati 1 fino 3 di 3

Discussione: Auto refresh solo del tbody

  1. #1
    whatsapppiva non è connesso Neofita
    Data registrazione
    16-04-2021
    Messaggi
    14

    Exclamation Auto refresh solo del tbody

    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
    Ultima modifica di whatsapppiva : 12-09-2021 alle ore 15.23.31

  2. #2
    darbula non è connesso AlterGuru 2500
    Data registrazione
    24-04-2011
    Messaggi
    2,894

    Predefinito

    Mi dispiace ma entrambi io e lei dobbiamo trovare il medesimo modo per comprenderci. Io noto molta confusione nel suo codice, l'errore sta che non comprende da com'è composto il suo script.
    L'oggetto XMLHttpRequest sta inviando una richiesta POST a testo.php senza ulteriori parametri, il ritorno via php è un semplice testo.
    Il suo FORM html usa il metodo GET a registra_invio.php con parametri, tra cui manca inputEmail, inputPassword etc.
    Deve scomporre il codice in più pezzi, da cosa inizia la registrazione utente? Da un form di registrazione e avrò anche il campo email, password (l'elemento input html). Devo salvare la sessione http di php nel Filesystem del mio host? Potrò utilizzare session_start(); se non ho inviato header, non produco output ("nemmeno markup html", esempio <tr> etc.), dopo aver usato session_start(); potrei produrre output. Il codice C interno deve impostare un Set-Cookie: nella richiesta del cliente, il cliente al prossimo uso nella richiesta usa Cookie:
    La verifica del login, va eseguita per il criterio dell'informazione iniviata dalla registrazione utente, poi la si confronta con il valore precedentemente memorizzato nel database.
    Ultima modifica di darbula : 12-09-2021 alle ore 17.52.12

  3. #3
    whatsapppiva non è connesso Neofita
    Data registrazione
    16-04-2021
    Messaggi
    14

    Predefinito

    Nulla di tutto ciò,
    questa tabella non è altro che una raccolta di numeri di telefono, che, quando cliccati avviano la query che registra la data dell'ora e successivamente mi apre l'applicazione di whatsapp web installata su pc con una chat vs il numero cliccato ed un testo precedentemente pescato dal db

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •