Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it L'avatar di moomo
    Registrato dal
    Jul 2007
    Messaggi
    227

    [PHP & JAVASCRIPT] Problema con Ajax Autocompleter o meglio con Ajax Suggest

    Ciao ragazzi

    Ho un problema nella creazione di una casella per i suggerimenti durante la ricerca nel mio database, ho usato per far ciò Ajax Autocompleter che io ho preso da quì: Guida su Ajax Autocompleter

    Ho letto la guida e ho creato 3 semplici pagine per la creazione di questo sistema:

    La pagina cerca_alunno.php

    Codice PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <
    html xmlns="http://www.w3.org/1999/xhtml">
    <
    head>
    <
    meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <
    title>Gestione Alunni</title>
    <
    SCRIPT src="ajax/prototype.js" type=text/javascript></SCRIPT>

    <SCRIPT src="ajax/effects.js" type=text/javascript></SCRIPT>

    <SCRIPT src="ajax/controls.js" type=text/javascript></SCRIPT>
    </head>
    <body bgcolor="#b9eefb" topmargin="0" alink="#0000CC" link="#0000CC" vlink="#0000CC">


    <center>
    <form name="autocompleteTest" action="" action=search.php method=post> 
    <input type="text" value="" name="key" id="key"> 
    <div id="suggestBoxList" class="suggestBox"></div> 
    <script type="text/javascript"> 
    new Ajax.Autocompleter("findme", "suggestBoxList", "requestScript.php", {minChars: 1}); 
    </script> 
    </form> 
    </center>
    </body>
    </html> 
    La pagina requestScript.php

    Codice PHP:
    <?php

    $findme 
    $_POST['key']; 
    $list '<ul>'

    require(
    'dati_connessione.php');

    $con=mysql_connect($DBhost,$DBuser,$DBpass) or die("Impossibile collegarsi al server");
    mysql_select_db("$DBname") or die("Impossibile connettersi al database $DBName"); 

     
    $sql "SELECT Cognome_nome FROM anagrafica WHERE Cognome_nome LIKE '%$findme%'"
    $result mysql_query($sql$con); 
    if(
    mysql_num_rows($result ) > 0){ 
       while(
    $row mysql_fetch_array($result)){ 
       
    $list .= '[*]'.$row['Cognome_nome'].''
      } 

    else{ 
       
    $list .= '[*]Nessun risultato pertinente ...';  


    $list .= '[/list]'

    mysql_free_result($result); 

    echo 
    $list
    unset(
    $list);  

    ?>
    e la pagine dati_connessione.php che contiene i solo dati per la connessione, il problema è che queste pagine non mi danno il risultato desiderato cioè non si visualizza nessun suggeriemento, volevo qualche consiglio o se capite dove sbaglio perchè io non sò più che fare.

    Grazie mille anticipatamente

  2. #2
    Per iniziare stai utilizzando un campo chiamato key mentre dovrebbe essere findme (vedi il primo parametro di Ajax.Autocompleter).
    Poi, prima di accedere ad un indice di un array, dovresti sempre verificare che esista (vedi http://kb.creativepark.it/kb/entry/6/)
    Infine, dovresti far MOLTA attenzione all'utilizzo dei dati in input all'interno delle query (vedi http://php.html.it/guide/lezione/298...sql-injection/)

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.