• User Attivo

    Aiuto con Ajax

    Ciao a tutti.
    Programmo in Php e purtroppo di Ajax e di Js in generale non ne capisco nulla image

    Sto realizzando uno script che credo possa essere più funzionale usando Ajax... vi spiego brevemente come funziona lo script:

    Siamo visitando una pagina php, questa pagina ha una variabile globale chiamata "ciccio".

    Nella sidebar di questa pagina c'è un link con scritto "Aggiungi 'ciccio' alla tua collezione". Il link passa delle variabili in formato get e il link che andrà a richiamare sarà la medesima pagina + "?azione=aggiungi".
    All'interno della pagina c'è un ciclo che nel caso abbia una variabile "$_GET['azione'] = 'aggiungi'" eseguirà la query per aggiungere "ciccio" alla nostra collezione. Dopo averlo fatto (con tutti i controlli del caso gestiti tramite php) richiama nuovamente la pagina di origine. Nella sidebar, a questo punto, al posto di "Aggiungi 'ciccio' alla collezione" compare "'ciccio' è stato aggiunto alla collezione'". Se ricarico nuovamente la pagina al suo posto ci sarà un link "Rimuovi 'ciccio' dalla collezione" e verrà eseguito lo stesso meccanismo di prima (tramite valori $_GET).

    Ora io vorrei fare in modo che cliccando su "Aggiungi" nella sidebar scompaia questo link e compaia direttamente il link "Rimuovi", senza dover caricare la pagina più volte (in totale 3: 1) il link aggiungi, 2) lo status 'ciccio è stato aggiunto', 3) il link rimuovi)

    Spero di essere stato chiaro e che esista un modo per fare quello che vorrei... image


  • User Attivo

    si, c'è, ed è molto semplice, sopratutto se usi questo:
    www.jquery.com, nei tutorials c'è la parte "ajax", vedrai che è semplicissimo!


  • Super User

    Confermo, jquery è davvero ottimo perchè permette di fare tutto senza aggiungere nessun richiamo nell'html.

    Puoi gestire tutto l'aspetto dell'interfaccia, modificando direttamente il valore del div nel quale operi e effettuare i richiami al php per memorizzare la richiesta e avere conferma dell'avvenuto inserimento.
    Il tutto tramite un .js esterno e usando solo le classi o gli id degli elementi.