Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2009
    Messaggi
    128

    php e autosuggest da mysql

    salve a tutti

    allora ho trovato un bell'esempio per fare un autosuggest con ajax di alcuni campi. l'array è manuale e nell'esempio riguardava le regioni

    codice:
    $regioni = array("Calabria","Campania","Emilia-Romagna","Friuli-Venezia Giulia","Lazio","Liguria","Lombardia","Marche","Molise","Piemonte","Puglia","Sardegna","Sicilia","Toscana","Trentino-Alto Adige","Umbria","Valle d'Aosta","Veneto");
    
    
    echo "<ul class=\"autosuggest\">";
    if($input !== ''){
       foreach($regioni as $chiave => $valore)
        {
            if(ereg($input,$valore))
            {
                echo "[*]<div>$valore</div>";
            }
        }
    	}
    	echo "[/list]";
    dunque io in un form avevo un campo testo, digitavo alcune lettere e lui mi suggeriva di volta in volta le opzioni disponibili.

    Ho provato ad adattarlo alle mie esigenze, facendo l'array da un database mysql (seguendo un altro esempio). Funziona, si connette al database, cerca i valori in base agli input dell'utente...ma le opzioni non si vedono!
    Cioè io nel db ho diciamo 100 valori..tra cui poniamo "campo1", campo2 e campo3

    Nel form comincio a digitare "campo" e in effetti sotto si apre la scelta con tre possibilità...però non c'è scritto nulla! ci sono solo dei pallini neri del[*]

    Il codice usato (il campo testo del form si chiama nome-regione)
    codice:
    $input=$_POST['nome-regione'];
    
    //Mi connetto come sempre al database mettendo host, user e password
    mysql_connect("xxxxx", "xxxxx", "") or die(mysql_error());
    mysql_select_db("materiale") or die(mysql_error());
    
    $sql = "SELECT articolo FROM articoli WHERE articolo LIKE '%$input%'";
    $regioni = mysql_query($sql);
    
    
    $list = '<ul class=\"autosuggest\>';
    
    if(mysql_num_rows($regioni ) > 0){
       while($row = mysql_fetch_row($regioni)){
       $list .= '[*]'.$row['articolo'].' - '.$row['codice'].'';
      }
    }
    else{
       $list .= '[*]Nessun risultato pertinente ...'; 
    }
    
    $list .= '[/list]';
    
    
    ;
    
    mysql_free_result($regioni); 
    
    
    echo $list;
    unset($list);
    help

  2. #2
    Perdonami, è parecchio che sono a digiuno di php... ma non puoi creare un'array dai dati presi da mysql? (solo un'array per intenderci), in questo modo hai più o meno la stessa struttura iniziale (tralasciando la parte di connessione al database, creazione dell'array e di disconnessione dal database).

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.