Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    4

    Autocomplete con Scritaculous

    Ciao,
    sto provano ad usare Scriptaculos per cercare un nominativo in n database mysql ma non ottengo nulla. Un po'di codice:
    ho un file index.php con questo stralcio di codice

    …..
    <fieldset>
    <legend>Ricerca utente</legend>
    <label for="ricerca">Ricerca</label>
    <input type="text" name="ricerca" id="ricerca" />
    <span id="indicator1" style="display: none">
    [img]img/spinner.gif[/img]
    </span>
    <div id="suggerimenti" class="autocomplete"></div>

    </fieldset>
    ……



    new Ajax.Autocompleter("ricerca", "suggerimenti", "recuperaDati.php", {
    paramName: 'ricerca',
    indicator: 'indicator1',
    afterUpdateElement : getSelectionId
    });

    function getSelectionId(text, li) {
    var stringa = li.id;
    var vettore = stringa.split('-');
    alert(vettore[1]);
    }
    …..


    se utilizzo la seguente versione statica di recuperaDati.php vers.1

    echo "<ul>\n";
    echo " <li id='1-cognome-nome'>Caorle\n";
    echo " <li id='2-cognome-nome'>Cavolo\n";
    echo " <li id='3-cognome-nome'>Cercato\n";
    echo " <li id='4-cognome-nome'>Daino\n";
    echo " <li id='5-cognome-nome'>Felix\n";
    echo "[/list]\n";


    si comporta come mi aspetto, esce fuori un elenco e se seleziono c'è un messaggio con la scritta cognome.

    se invece provo a estrarre i campi da un DB MySQL l'indicatore è visualizzato ma non esce nulla. per questo passo uso la seguente versione di recuperatati.php vers.2

    if(isset($_POST['ricerca'])){$paziente=$_POST['ricerca'];}else{$paziente="CE";}
    include_once('connessione.inc.php');
    $mysql_link = @ mysql_connect (SERVER, UTENTE, PASSWORD)
    or die ("Could not connect to a MySQL server.");
    mysql_select_db(DATABASE, $mysql_link);


    $sql = "SELECT *, CONCAT(an_cognome,' ',an_nome) AS nomecompleto, DATE_FORMAT(an_dtaper, '%d/%m/%Y') as dataNascitaITA ";
    $sql .= "FROM anagra WHERE an_cognome LIKE '$paziente%' ORDER BY an_cognome, an_nome ";


    echo "<ul>\n";
    $risultato = @mysql_query($sql);
    if ($risultato) {
    $numrec = mysql_num_rows($risultato);
    if ($numrec > 0) {
    // scansiono i record
    while ($rec = mysql_fetch_array($risultato)) {
    $cognome =$rec['an_cognome'];
    $nome = $rec['an_nome'];
    $dataNascita = $rec['dataNascitaITA'];
    $id = $rec['an_conto'];
    echo " <li id='$id'> $cognome - $nome - $dataNascita\n";
    }
    }
    else {
    echo " <li id='0'>Nessun dato trovato\n";
    }
    }
    else {
    echo " <li id='0'>Ricerca non riuscita\n";
    }
    echo "<li id='ggg'>$sql\n";
    echo "[/list]\n";


    in connessione.inc.php sono definiti i valori per connettersi al db
    se apro direttamente il file recuperatati.php
    mi stampa effettivamente tutta la lista che richiedo

    Cosa posso fare?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    La variabile $id cos'è stringa o numero? Ricordati che gli id non devono iniziare per numero, forse il problema è li.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    4
    il valore $id è preso da un campo numerico del database. Ho reso il
    valore $id fisso uguale a 'abc' ma la cosa rimane la stessa, mi dà errore.

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2004
    Messaggi
    4
    Ho risolto: il problema risultava nella connessione
    dove avevo definito i parametri di connessione
    nel formato define ("SERVER","localhost");
    Usando invece il formato $SERVER="localhost";
    l'autocomplete funziona correttamente.

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.