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

    Autocompletamento con scriptaculous

    Buon giorno a tutti, stò facendo un pò di pratica con scriptaculous e stò testando la funzione Ajax.Autocompleter però non riesco a vedere i risultati della chiamata a mysql di seguito allego il codice. Spero in un Vs. aiuto.Grazie.

    FILE INDE.PHP (ho levato il doctype e il resto per chiarezza..)

    <html>
    <head>
    <title>Esempio di autocompletamento con Ajax</title>
    <link rel="stylesheet" href="stile.css" type="text/css">
    <script src="Javascript/prototype.js" type="text/javascript"></script>
    <script src="Javascript/scriptaculous.js" type="text/javascript"></script>
    </head>
    <body id="body">

    <div>
    <input type="text" id="testo_auto" value=''>
    <span id="indicatore_caricamento">
    [img]Javascript/load.gif[/img]
    </span>
    </div>

    <div id="contenitore_autocompleter" class="autocomplete">
    </div>
    <script type="text/javascript">
    new Ajax.Autocompleter('testo_auto','contenitore_autoc ompleter','dati_autocompletamento.php', {paramName: "testo_auto", minChars:1, indicator:'indicatore_caricamento'});
    </script>

    </body>
    </html>


    FILE dati_autocompletamento.php

    <?php
    //connessione db
    $conn=mysql_connect('localhost','alessio','hongo')
    or die("Non possiamo connettersi");
    mysql_select_db('test');

    if(isset($_POST['testo_auto'])){$testo_auto=$_POST['testo_auto'];}else{$testo_auto="";}

    $query=mysql_query("SELECT ragsoc FROM fornitori WHERE ragsoc LIKE '%".addslashes($testo_auto)."%'")
    or die("No query");

    $ArrayRiceve=Array();
    while ($risultati = mysql_fetch_array ($query)){
    array_push($ArrayRiceve,$query);
    }
    echo "<ul>";
    for($a=0;$a<count($ArrayRiceve);$a++){
    echo "[*]".$ArrayRiceve[$a]['fornitori']."";
    }
    echo "[/list]";
    ?>

  2. #2
    ma a occhio toglierei intanto nel file php addslashes dalla variabile $testo_auto nella clausola like della query sql.
    poi per vedere problemi nel javascript usa firefox con firebug.

  3. #3
    Niente da fare mi viene visualizzato il div ma è vuoto.
    Cosa sbaglio secondo te... Adesso provo a utilizzare anche Firefox.
    Grazie mille

  4. #4
    prima di implementare qualunque richiesta ajax, io realizzo prima lo script lato server che fornisce il response, e mi assicuro che funzioni (ad es. in questo caso effettuando la query al database e restituendone i risultati), ecco perchè avevo guardato in principio al tuo file php.

    pero' riguardando il javascript quandi crei il tuo autocompleter tu metti:

    'testo auto' ----------------------------> id del campo di testo
    'contenitore_autocompleter' ------------> id del div da popolare con autocompleter

    poi hai messo

    paramName: "testo_auto"

    e hai sbagliato, perchè nel codice html che hai postato il tuo campo input non ha un attributo name="testo_auto" ma solo l'id che non passa il valore inserito nel campo.

    quindi correggi così:

    <input type="text" id="testo_auto" name="testo_auto" value=''>

  5. #5
    Mi sono accorto dell'errore ieri sera ma non avevo più modo di postare un messaggio. Concordo con te sul fatto di testare prima il lato server.
    Ho provato a fare altre modifiche però ancora non ho raggiunto il risultato ottimale (far vedere solo quelle parole che contengono i caratteri inseriti dall'utente) adesso vedo tutto l'array.

    Hai mica dei consigli da darmi sulla ricerca da effettuare con i caratteri inseriti....
    Ti sarei molto grato.

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