• User Newbie

    2 query e tasto per visualizzare risultaro query???

    Ciao Ragazzi, ho conosciuto questo forum cercando di risolvere i miei problemi con PHP e MySql...

    Dovrei fare un sito molto semplice (sulla carta)...

    Ho un db dove c'è nome, cognome, città ed età...

    Vorrei fare due query: nella prima scelgo il nome e in automatica nella seconda mi propone i soli cognomi delle persone che hanno il nome scelto in precedenza...

    Subito sotto vorrei un tasto che mi mostrasse (in un altra pagina) tutte le info che ho sulla persona scelta...

    Avete qualche dritta da darmi???

    Sono riuscito a fare la prima parte (le due query) ma non so come "esportare" il risultato... (non posto il mio codice perchè vorrei riscriverlo da zero)

    Grazie in anticipo a chi mi aiuterà...


  • User Newbie

    Questo è la parte di codice che ho scritto per eseguire le due query:

    [php]?><a href="risultato.php"><span style="font-family: Calibri;"><br>
    </span>
    </a>

    <table>

               <tbody>
               <tr width="100%">
                   <td>Nome: </td>
                   <td>
    

    <?
    $nome= $_POST['nome'];
    ?>

    <script type="text/javascript">
    function SelectPost()
    {
    document.modulo.method = "post";
    document.modulo.action = "index.php";
    document.modulo.submit();

    }
    </script>

            <form name="modulo">    
            <select name="marca" onchange="SelectPost()"> 
                   <option value="Inizio">Seleziona il nome</option>        
                   <option value="Fabio">Fabio</option>        
                   <option value="Marco">Marco</option>        
                   <option value="Luca">Luca</option>    
                   </select>
            </form>
                   
                   </td>
               </tr>
         
                 <tr width="100%">
                  <td>Cognome: </td>
                   <td>
                   
                   
                  <?php //fai una query
                    $query = mysql_query("SELECT distinct(cognome) FROM NOMI WHERE Nome ='$nome'");
    
                    //apro il  tag select per il menu a tendina
                    echo"<select name=\"nome\">";
    
                    //metto i risultati della query in un  array e poi faccio un ciclo
                    while($row = mysql_fetch_array($query))
                    {
                    //stampo option con value uguale alla regione e il testo è la regione
                    echo "<option value=\"".$row['nome']."\">".$row['nome']."</option>";
                    }
                    //finito il ciclo chiudo il tag select
                    echo"</select>";
                   ?> 
                   
                   </td>
               </tr>
    

    <br>

    <td class="button">
    <button type="submit" name="ctl00$ctl00$decoratedArea$contentArea$homeSearch$searchButton" value="Visualizza risultati" id="ctl00_ctl00_decoratedArea_contentArea_homeSearch_searchButton" class="button-emphasised start-button">Visualizza risultati</button>
    </td>

    </tbody></table>[/php]Come faccio a creare un tasto che mi visualizzi in un altra pagina i dettagli della persona che ho scelto con le query???


  • User Attivo

    Ciao dipofabio,
    se non ho capito male, ti serve fare in modo che in base al nome selezionato, ci sia un tasto che se cliccato apra una nuova finestra con i dati relativi a quell'utente, giusto?

    Se ho capito correttamente, per prima cosa ti consiglio di usare un campo ID come chiave primaria nella tua tabella.

    ID (key) - Nome - Cognome - Città - etc...

    Fatto questo, nella query di select per creare la lista dei nomi estrai ,oltre al nome , anche l'ID.

    Poi, nella select del form, usa questa struttura:
    [php]echo "<option value="".$row['id']."">".$row['nome']."</option>";[/php]

    Ora ti serve un javascript per aprire una nuova finestra e che passi in questa il valore della select.

    Aggiunghi questo javascript nell'head della pagina:
    [php]<SCRIPT LANGUAGE="JavaScript">

    function getSelect(){
    selectForm=document.mioForm.mioSelect.selectedIndex;
    window.open("result.php?id="+selectForm,"result","width=300,height=200");
    }
    </script>[/php]al posto di "mioForm" inserisci l'id del tuo form, al posto di "mioSelect" inserisci l'id della select e infine al posto di result.php inserisci il nome della pagina che dovrà contenere i risultati.

    Fatto questo , aggiungi il link che se cliccato, ti apre in una nuova finestra il risultato:
    [php]<a href="javascript:getSelect();">Visualizza</a>[/php]

    Se hai fatto tutto correttamente, ora non resta che creare la pagina result.php
    La pagina result.php conterrà nell'indirizzo l'id dell'utente selezionato nella select e con un semplice $_GET['id'] potrai prelevarlo per poi fare la query in mysql e prenderti i dati necessari relativi all'utente con quell'ID.

    Scusa ,ma sono di corsa, spero di essere stato comprensibile.
    Ciao 🙂