jQuery ajax complete

geppo

Nuovo Utente
7 Feb 2006
1
0
0
Ciao a tutti,
sto provando a usare jQuery per poter popolare una tabella con dati attinti da db mysql tramite php (Non so se questa è la sezione giusta dove postare)

Storia: da una ricerca sul database mysql creo una pagina con tabella che mi mostra i dati.
Se i dati sono molti (es. più di 15), in tabella sono mostrati i primi 15 record e poi mostro una barra di navigazione 1-2-... dove, cliccando sul numero,
mi mostra i record relativi allo scaglione scelto (2:i secondi 15, 3:i terzi 15,...)
Questa operazione è effettuata con una chiamata ajax di jQuery.
Questo giochino funziona correttamente la prima volta, ossia la prima volta mi mostra i primi 15 record (questo perché ancora non fa nessuna chiamata ajax) e se clicco su un numero, es 3, mi mostra la terza pagina di record correttamente, ma poi se provo a cliccare su un altro numero non succede nulla.

Un'altra cosa che non fa, e questo anche la prima volta, ho messo un messaggio quando completa l'azione ajax, ma questo messaggio non è mai mostrato

Ecco un po' di codice

cerca.php
Codice:
  ...
      echo "<div id=\"risultatoRicerca\">\n";
                         
      // imposto la visualizzazione di soli recXPagina record alla volta
      $limite = "";
      $recXPagina = 2;

      // recupero il numero totale di record
      $risTotale = RunQuery(qSchede($where, $limite));
      $numRecTotale =mysql_num_rows($risTotale);
      
      // se ho più record di quelle da visualizzare per ogni singola pagina imposto una BARRA di NAVIGAZIONE
      if ($numRecTotale>$recXPagina) {
        $numPagine = ceil($numRecTotale/$recXPagina);
        echo "        <div id=\"navigaRecord\">\n";
        // passo il filtro $where valorizzato nella parte iniziale del file che ho omesso
        echo "          <p scelta=\"$where\">Pagina ";
        for ($i=1; $i<=$numPagine; $i++) {
          // passo il numero della pagina
          if ($i==$numPagine) {
            echo "<a href=\"$i\" >$i</a> ";
          }
          else {
            echo "<a href=\"$i\" >$i</a> - ";
          }
        } 
        echo "($recXPagina record per pagina, $numRecTotale record Totali)</p>\n        </div> <!-- fine navigaRecord -->\n";
      }

      $limite = "LIMIT 0, $recXPagina ";
      $risultato = RunQuery(qSchede($where, $limite));
      
      // inserisco i record in una tabella
      echo "        <div id=\"tabellaRicerca\">\n";
      echo "          <table>\n";
      // testata
      echo "            <tr class=\"testata\"><td>CPI</td><td>Data</td><td>Cognome Nome</td><td>Sesso</td><td>Et&agrave;</td>\n";
.... stampa per tutti i campi da mostrare
      echo "              </tr>\n";

      if (@mysql_num_rows($risultato)>0) {
         $tiporiga = "rigapari";
        // scorro i record
        while ($rec = mysql_fetch_array($risultato)) {
          $tiporiga=cambioRigaTab($tiporiga);
          // estraggo i dati dalla scheda
          $idScheda=$rec['idScheda']; // identificativo Scheda
  ... recupero tutti i dati dal db e associo una variabile a ciascuno come l'idScheda
          // visualizzo i dati
          echo "            <tr class=\"$tiporiga\"><td>$cpi</td>";
  ... popolo la tabella con tutti i campi
          echo "            </tr>\n";
        }
      }
      else {
        echo "<p>Nessun record soddisfa i criteri impostati</p>\n";
      }
      echo "          </table>\n";
      echo "        </div> <!-- fine tabella Ricerca -->\n";  
      echo "      </div> <!-- fine risultato Ricerca -->\n";
 ...
RunQuery non è altro che una mia interfaccia a mysql_query()
mentre qSchede è una funzione che crea la query mettendo la parte di filtro (WHERE...) e il numero di record (LIMIT ...)


filejQuery.js

Codice:
$('#navigaRecord a').click(function(event) {
    event.preventDefault();
    var where =  $("#navigaRecord p").attr("scelta");
    var pagina = $(this).attr("href");
    alert("Letto pagina "+pagina+" e scelta "+where );
    $.ajax({
      type: "POST",
      url: "tabellaRicerca.php",
      data: "where=" + where + "&pagina="+ pagina,
      dataType: "html",
      success: function(msg){
        $("#tabellaRicerca").replaceWith(msg);
        alert(aggiornato);   
       },  
      error: function(){
        alert("Impossibile visualizzare altri record!");
      },
      complete: function(){
        alert("completato");
      }
    });            

   
  }); // --- naviga record ---

tabellaRicerca.php
Non è altro che la parte che compila la tabella di cerca.php

Non riesco a capire perché fa così, e forse è collegato al fatto che non completa l'azione ajax?
Grazie per qualsiasi consiglio
 

YellowMan

Utente Attivo
7 Mar 2012
42
0
0
I numeri delle pagine li generi con Ajax?
Se la risposta è sì prova ad usare il metodo "live" per gestire gli eventi.
 
Discussioni simili
Autore Titolo Forum Risposte Data
R jquery che cambia css di un elemento non mi funziona sulla pagina caricata da ajax Ajax 5
R Aggiornare record mysql con Ajax, jQuery e php Ajax 2
P Funzione jQuery Ajax invio file a php jQuery 1
L Problema jQuery validation AJAX (PHP 7) PHP 6
M leggere con jquery/ajax in una function javascript record di database sql server Javascript 0
A [Javascript] Ajax, Jquery e PHP Javascript 1
X Problema con jquery e ajax jQuery 2
localhost.nicola [AJAX-JQUERY] Ritornare true||false in base alla risposta ricevuta da success: di $.ajax() Ajax 1
F Jquery Ajax Datatable jQuery 1
S Eseguire funzione jquery all'interno della risposta ajax Ajax 0
E Richiamare funzione Jquery dopo aggiornamento parziale di pagina tramite ajax jQuery 0
MarcoGrazia jquery ajax manda richieste in quantità arbitraria jQuery 3
C autologin jquery ajax Javascript 0
W Jquery ajax non funziona jQuery 1
G Invio caratteri speciali tramite jquery/ajax Javascript 1
G Invio caratteri speciali tramite jquery/ajax Ajax 1
B jQuery mobile e più form ajax jQuery 1
P php jquery ajax per modificare valore in un databe Ajax 1
G jquery ajax e variabili Ajax 0
felino [Ajax/Jquery] Z-index su loading-image Ajax 1
S multi request ajax con jquery jQuery 2
P [RISOLTO] Passaggio parametri in JQuery/Ajax Ajax 4
F gallery jquery-ajax Javascript 0
S Gallery con Tag foto: problema doppia chiamata ajax con JQuery jQuery 2
L verifica mail in db con jquery e ajax. Aiuto jQuery 9
Emix Problema nel concatenare jquery ed ajax nella stessa pagina Javascript 15
P Tornare indietro con Ajax Jquery Ajax 4
P Ajax jquery inserire un loader per motore di ricerca Ajax 2
P problema validazione form con ajax e jquery Ajax 0
T Problema con Jquery ajax jQuery 4
D Problema nella validazione di un form con JQUERY ed AjAX jQuery 4
S problemi jquery ajax chiamare una pagina php Ajax 5
P problema jQuery/ajax Ajax 4
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
I Eseguire funz. Javascript caricata tramite la funzione Ajax di JQuery in onChange Javascript 0
P [Ajax, python e JS] Redirect dopo una POST con jquery jQuery 0
L Da Jquery 1.4 a 1.5/1.6 funzione ajax jQuery 1
M Mappa interattiva con jquery ajax e php. jQuery 0
J How to create AJAX Notifications with jQuery jQuery 0
V [JQuery] Aiuto per funzione Ajax jQuery 0
lukeonweb Corso Corsi javascript, jquery e ajax Javascript 3
D Jquery - modifica elemenento onlick jQuery 1
E Problema jquery Success jQuery 2
E PHP & jQuery PHP 8
P jquery refresh div non funziona Javascript 0
P lanciare script asp (o php) da jquery Javascript 1
T aiuto per trasformare un quiz fatto in JS in un quiz in JQUERY jQuery 0
Z CSS Slideshow senza JS e JQUERY HTML e CSS 2
Z CSS Slideshow senza JS e JQUERY HTML e CSS 2
MarcoGrazia Validazione remota tramite plugin (jquery validate) Snippet Javascript 0

Discussioni simili