Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17

Discussione: esercizio in ajax

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    10

    esercizio in ajax

    Ciao Ragazzi
    sono nuova!Avrei bisogno di una mano con Ajax...premetto che sono un pò confusa e non ho ben capito alcune cose.
    Comunque stavo cercando di fare un esempio semplice...Praticamente volevo che dopo un paragrafo venisse visualizzato in uno span un campo di database.
    Solo che, non essendo chiare alcune cose, non riesco a capire dove sbaglio.

    provaajax.html
    codice:
    <html>
    <head>
    <script type="text/javascript">
    function show(str)
    {
    
    if (window.XMLHttpRequest)
      {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
      }
    else
      {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
      }
    xmlhttp.onreadystatechange=function()
      {
      if (xmlhttp.readyState==4 && xmlhttp.status==200)
        {
        document.getElementById("msg").innerHTML=xmlhttp.responseText;
        }
      }
    xmlhttp.open("GET","showTitolo.php?p="+str,true);
    xmlhttp.send();
    }
    </script>
    </head>
    
    <body>
    
    
    
    Il titolo del primo libro: <span id="msg" onMouseOver="show(this.value)"></span></p>
    
    </body>
    </html>
    showTitolo.php

    codice:
    <?php
     $q=$_GET['q'];
    //apro la connessione,poi...
    mysql_select_db("libro")or die("selezione db fallita");
     $query="SELECT titolo from libro where id='.$q.'";
    $ris=mysql_query($query)or die("query fallita"); 
    while($r=mysql_fetch_array($ris)){ 
    $a=$r[0];
     } 
    echo $a;
     ?>
    Ovviamente non funziona

  2. #2
    scusami, non mi è chiaro perchè nell'evento onmousehover imposti la funzione
    show(this.value);

    This? Quel campo è sempre vuoto quindi la query che successivamente esegui equivarrà sempre a
    codice:
    SELECT Titolo FROM Libro WHERE ID =
    e non funzionerà. Oppure non ho capito bene io!
    Fammi sapere!
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    10
    si c'hai ragione infatti...solo che anche togliendo il parametro alla funzione...non mi restituisce niente quindi qualcos'altro è sbagliato!

  4. #4
    hai provato a richiamare la pagina showTitolo.php da browser e vedere cosa ti restituisce? Perchè se non restituisce niente è normale che non funzioni.
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    10
    allora showTitolo.php funziona solo se ci metto io un id nella query e mi stampa il risultato che mi aspettavo...però provaajax.html non funziona.
    Uff

  6. #6
    ei tranquilla, non allarmarti, hai modificato la pagina provaajax.html? cioè al metodo show passaci un id valido, per esempio:
    onmousehover="show(12)"

    e facci sapere
    Chi sbaglia, apprende meglio di chi non ha mai commesso errori.
    DOT.NET Addicted since 2006 (My Blog)

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    10
    mmmh non va.
    Ho messo:

    onMouseOver="show('1')"
    La funzione è rimasta function show(str){....}

    e nel file showTitolo.php
    la query deve essere così?
    $query="SELECT sms from messaggio where id= '.$q.'";

    ...Perchè così non mi stampa nulla...
    Non so forse sbaglio qualche altra cosa...Questo è corretto?
    xmlhttp.open("GET","showSms.php?p="+str,true);

  8. #8
    Utente di HTML.it L'avatar di ganesha
    Registrato dal
    Jan 2003
    Messaggi
    357
    ciao

    se adesso carichi nel browser showTitolo.php?p=1 ti restituisce i dati?

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    10
    no niente...

  10. #10
    Utente di HTML.it L'avatar di ganesha
    Registrato dal
    Jan 2003
    Messaggi
    357
    e certo.. il parametro non è 'p' ma 'q'....

    prova con:
    showTitolo.php?q=1

    e se funziona metti la q anche nell'html

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.