motore di ricerca e voci link

VAik

Utente Attivo
16 Apr 2016
117
3
18
Ciao a tutti ragazzi
oggi mi sono messo a creare un motore di ricerca (file .php) per una tabella costituita da queste colonne (id_iscritto, nome, cognome, indirizzo, email. provincia, dataisc ).
PHP:
<?php
require_once('configurazione_credenziali_esterno.php');
$link = @mysqli_connect(DB_HOST, DB_USERN, DB_PSW) or die("Errore connessione: ". mysqli_connect_error());
$dbw = @mysqli_select_db($link, DB_PROVA) or die("Errore apertura database: " . mysqli_error($link));

$parola=$_POST["n"];

if($parola){
$strsql= "SELECT * FROM iscritti WHERE nome LIKE '%$parola%' or cognome LIKE '%$parola%'";

$rs = @mysqli_query($link, $strsql) or die("Errore query database: " . mysqli_error($link));

while ($riga = mysqli_fetch_array($rs)) {
    $str_id = $riga['id_iscritto'];
    $str_nome = $riga['nome'];
    $str_cogn = $riga['cognome'];

    echo "Riga:  $str_id -> Nome: $str_nome - Cognome: $str_cogn <br>";
    ?>
    <?php
    }    
}
?>
Ho pensato poi di creare un form di ricerca che faccia comparire al di sotto una finestra con i possibili nomi trovati.
Ci riesco e funziona anche bene, infatti se cancello ciò che ho scritto nel form, scompare la tendina ed anche il testo del file .php.

Se volessi però rendere i risultati presenti nella tendina, dei risultati cliccabili per far comparire tutti gli altri dati del nome trovato, cosa dovrei fare?

Codice:
$("li.last").keyup(function(event){ //quando avviene evento rilascio tasto fai questa funzione
          event.preventDefault();//blocco la propagazione del l'evento
   
   
          $('#login')
        .css({ //posiziono il modulo
    'top' : '55px',
    'left' : '450px'
            })
        .fadeIn(500);
         
         
      var par = $("#parola").val();//preleva l'attributo value cioè quello che digita l'utente
 
      $.post("leggere-iscritti.php",  //invio richiesta a questo file.php
              {n:par},                            //passandoci questi dati prelevati poco prima
                                                   //n appena inventata,   par     preso poco prima         
/*questa funzione ci dice cosa vogliamo fare con la risposta che
ci ha inviato il server e che sarà contenuta in data*/       
                 
   function(data){
                  console.log(data);
               
                  link = "<a src=\"" + data + "\">"+ data +"</a>";
                  messaggio = "<p>" + link + "</p>";
               
                  $("div#sfondologin").html(link);
  // console.log(data);
                          //$("div#sfondologin").html(data);  //inserimeno nel div con id sfondologin
                            if(data==0){$('#login').toggle();}        //se non c'è nulla scritto elimina tendina
              });
                  return false;
          });


 </script>

 <div id="main">
 <div id="maintop">
   <nav>
     <ul>
       <li><a href="">link1</a></li>
       <li><a href="">link2</a></li>
       <li><a href="">link3</a></li>
       <li class="last">Cerca:<input id="parola" type="text" name="parola"></li>
     </ul>
   </nav>

   <div id="login">
     <div id="sfondologin">
     <!--      <form method="post" action="">
        <label for="username">Username</label><input type="text" name="username">
        <label for="password">Password</label><input type="password" name="password">
        <input type="submit" name="Invia">
        </form>-->
   </div>
</div>
</div>
 <footer></footer>
</div>
</div>
</body>
</html>
 
Ultima modifica:

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Cioa, trasformi echo "Riga: in un link tipo echo "<a href='' etc, puoi anche associare una funzione javascript al click.
 
  • Like
Reactions: VAik

VAik

Utente Attivo
16 Apr 2016
117
3
18
Grazie per la risposta, ma questa settimana (e chi sa questa prossima) è stata molto particolare.
Scusami se non ho risposto subito.


ma quindi trasformo l'ultima riga del file .php?

PHP:
$parola=$_POST["n"];


if($parola){

$strsql= "SELECT * FROM iscritti WHERE nome LIKE '%$parola%' or cognome LIKE '%$parola%'";

$rs = @mysqli_query($link, $strsql) or die("Errore query database: " . mysqli_error($link));

while ($riga = mysqli_fetch_array($rs)) {   
 $str_id = $riga['id_iscritto']; 
   $str_nome = $riga['nome']; 
   $str_cogn = $riga['cognome'];
  
  echo"<a href= \" \">Riga:  $str_id -> Nome: $str_nome - Cognome: $str_cogn <br> </a>";  


         }    

}
?>
ed in href che cosa ci metto? il link alla mia pagina contenente le info? o

è il link (contenente una query) ad una pagina .php per poter fare la scelta dell'info da visualizzare?