Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 17 su 17

Hybrid View

  1. #1
    Allora avevo ragione io...e la discussione andava messa in javascript :P
    Non è difficilissimo, l' ho fatto io lo puoi fare anche te, la logica è questa:
    codice:
    <div id="miodiv">
    Questo div cambierà il suo contenuto dopo che sarà effettuata la chiamata con ajax ad un file php
    </div>
    <a href="#" onclick="ajaxRequest()">Click</a>
    Io non ci smanetto troppo con ajax, però ogni tanto uso questo codice:

    codice:
    <script>
    function xmlhttp()
      {     
           var xmlhttp;        
             if (window.XMLHttpRequest)          
             {
                // code for IE7+, Firefox, Chrome, Opera, Safari          
                xmlhttp=new XMLHttpRequest();          
             }        
             else          
             {
                 // code for IE6, IE5          
                 xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");          
             }
    
    
           
          return xmlhttp;
      } 
      
      
      
    function ajaxRequest(AjaxMethod, AjaxFile, AjaxHtml, AjaxParams)
    {
      //alert('Funzione ajaxRequest caricata correttamente\n\r');
        //+ '\n\r'+AjaxMethod + '\n\r'+AjaxFile + '\n\r'+AjaxHtml + '\n\r'+AjaxParams); 
    
    
      var xhr, AjaxText;
      AjaxText = document.getElementById(AjaxHtml);
    
    
      //AjaxFile = AjaxFile + "?timestamp=" + new Date().getTime();
    
    
      try
      {
        window.XMLHttpRequest 
          ? xhr = new XMLHttpRequest()
          : xhr = new ActiveXObject("Microsoft.XMLHTTP");
      }
      catch (e)
      {
        AjaxText.innerHTML = "AJAX non funziona sul tuo browser";
      }
      xhr.onreadystatechange = function()
      {
        /* Gli stati di una richiesta possono essere 5
         * 0 - UNINITIALIZED
         * 1 - LOADING
         * 2 - LOADED
         * 3 - INTERACTIVE
         * 4 - COMPLETE
         */
    
    
      AjaxText.innerHTML="<img src='images/loading.gif' height='40px'>"; 
    
    
        if (xhr.readyState == 4)
        {
          setTimeout ( function() {
            xhr.status == 200 
              ? AjaxText.innerHTML = xhr.responseText 
              : AjaxText.innerHTML = "Si � verificato un errore nel tentativo di usare AJAX";
          }, 2000 ); 
        }
      }
    
    
      if (AjaxMethod == "GET")
      {  
        AjaxFile = AjaxFile + "&" + AjaxParams;
        //alert(AjaxFile);
        xhr.open(AjaxMethod, AjaxFile, true);
        xhr.send(); 
      }
      else
      {
        xhr.open(AjaxMethod, AjaxFile, true);
        xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
        xhr.send(AjaxParams); 
      }
    }
    </script>
    <div id="miodiv">
    Questo div cambierà il suo contenuto dopo che sarà effettuata la chiamata con ajax ad un file php
    </div>
    <a href="#" onclick="ajaxRequest('GET', './dir/ajax_file.php?id='3', 'miodiv', '')">Click</a>
    Poi il crei il file php che riceve la variabile e cerca nel DB, tutto l' output che generi col file php sarà inserito nel div

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    10
    E cosa fa lo script Ajax?

  3. #3
    Cosa vorresti visualizzare nella modale, la colonna del db "informazioni"?

  4. #4
    Quote Originariamente inviata da manitta Visualizza il messaggio
    E cosa fa lo script Ajax?
    chiede al server di eseguire il file php e ritorna il risultsto senza che si ricaricachi la pagina

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2016
    Messaggi
    10
    Nel modale vorrei visualizza tutti i dati che ha un oggetto, per esempio nome, condizione, costo ecc ecc..
    Ogni prodotto deve avere un modale, domani proverò utilizzando lo script Ajax

  6. #6
    Mi sa che ho fatto un pò di casino con le parentesi, scusa ma senza tabulatore è un casino scrivere codice.

  7. #7
    Non so se ho capito bene ma ti basta fare così:

    <?
    //GENERO I BOTTONI COME SE ESTRATTI DA DB


    for ($i=0; $i<=4; $i++){

    echo "Prodotto: ($NomeProdotto)" + "<input type='button' value='Esplodi prodotto' class='ProductInfo' id='$i'>";
    //IN QUESTO CASO COME ID HO MESSO $i, perchè considerata come chiavi primaria estratta dal DB

    }


    ?>

    <script>
    //IO UTILIZZO LA LIBREIRIA JQUERY
    //ESEMPIO SEMPLIFICATO A SCOPO DIDATTICO

    $(".ProductInfo").click(function(){









    var ProductId = $(this).attr("id");

    $.ajax({ type: "get",
    url: "AzioniProdottoSuPaginaX.php",
    data: "IdProdotto=" + ProductId,
    dataType: "html",
    success: function(Risposta){

    //QUI PUOI FARE QUELLO CHE VUOI CON I VALORI RITORNATI.
    //(QUI VENGONO RITORNATI VALORI IN SEMPLICE HTML, SE TI SERVE ELABORARLI DEVI UTILIZZARE JSOON O ALTRI //STRUMENTI SIMILI


    $(".MyOverlay0").show();
    $(.MyBox0").fadeIn();


    $(".MyBox0 p").html(Risposta);


    }

    });


    })



    In questo modo assegni al prodotto un pulsante con id, l'identificativo univoco (chiave primaria) che hai estratto dal db.
    Tramite jquery recuperi l'attributi id del button (ovvero la chiave) e tramite ajax la invii ad una apposita pagina php che si preoccuperà di restituire i dati richiesti.

    Spero di aver capito il problema e di averti aiutato.

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