Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    php/ajax stampare il risultato in una pagina separata

    Ho un form di ricerca con un paio di campi che passo ad Ajax per la sua parte, da qui questi dati vengono poi passati in un file php per la ricerca dei record sul db, una volta ottenuti i record vorrei che questi vengano mostrati in un'altra pagina senza dover eseguire una nuova query nella pagina risultato.
    Ultima modifica di Bartjsp; 18-02-2023 a 23:39

  2. #2
    Salva i dati in sessione o in un qualche sistema di caching.

  3. #3
    Quote Originariamente inviata da Bartjsp Visualizza il messaggio
    Ho un form di ricerca con un paio di campi che passo ad Ajax per la sua parte, da qui questi dati vengono poi passati in un file php per la ricerca dei record sul db, una volta ottenuti i record vorrei che questi vengano mostrati in un'altra pagina senza dover eseguire una nuova query nella pagina risultato.
    Usando ajax il risultato dalla logica php è un json. Arrivando un json, lo puoi inserire in una localStorage (lato "rientro" in ajax) con localStorage.setItem('nome_item', result).
    A questo punto hai il risultato in una variabile che da qualsiasi script puoi recuperare in qualsiasi pagina per fare qualsiasi cosa.

    Esempietto di js, nella pagina col Form che fa la chiamata ajax

    codice:
    function ricerca_parametri(campo_1, campo2){
    // Eventuali funzioni di verifica dell'input
    
    	$.ajax({
    		url : "/ajax/cerca_nel_db.php",
    		data : {
    			c1 : campo_1,
    			c2:  campo_2
    		},
    		type : "POST",
    		dataType : 'json',
    		success : function(j_result) {
    			localStorage.setItem('result_set', j_result).
    			// Altre istruzioni
    		}
    	});
    }
    Nella paginetta "successiva", visto che usi ajax e sai come sfruttarlo, prima ti carichi la grafica di base e poi vai a recuperare la localStorage ( localStorage.getItem('result_set') ) che passerai tramite altra funzione ajax alla parte che si occupa di costruire la grafica, ovvero avrai sempre una chiamata ajax simile a quella sopra ma nella parte di "success" diverrà qualcosa di simile (ipotizzo che tu usi anche jquery)

    codice:
    $("#tuo_div_risultato").html(j_result.html);
    $("#tuo_div_risultato").effect('pulsate', 13500);
    Questa potrebbe essere una soluzione.
    Se invece non puoi o non vuoi sfruttare questa logica o preferisci qualcosa di più easy, nella paginetta col form non usi ajax o comunque non vai a recuperare i record. Ti limiti semmai a verificare che ci sia qualche record con una COUNT e, se ci sono, rimandi alla pagina dei "risultati" nella quale fai la query vera e propria

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