Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    15

    Menù a tendina con valori presi da database

    Ciao a tutti vi spiego subito il problema...devo creare una pagina web fatta in questo modo:

    Cognome: --menù a tendina--
    Periodo: da --textbox-- a --textbox--
    submit

    Ovviamente poi questa farà un'interrogazione al database e mi fornirà una tabella come risultato.
    Ma il problema è un altro: come faccio a creare questo menù a tendina in cui i valori di scelta possibili sono quelli presenti in un database?

    Io ho provato così, ma non so se è un errore o se sono io che non so usare easyphp per testare...

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">

    <html>
    <head>
    <title>Progetto</title>
    </head>
    <body>
    <h4> Ricerca accessi ai laboratori </h4>
    <form method="get" action="test.php">
    <table>
    <tr> <td> Cognome: </td>
    <td>
    <select name = "selectcognome">
    <?php
    if(!mysql_connect("localhost","username","password "))
    die('Impossibile creare una connessione' . mysql_error());
    if(!mysql_select_db("progetto"))
    die('Impossibile accedere al database' . mysql_error());
    $cognomi="SELECT DISTINCT Cognome FROM Studenti WHERE Matricola IN (SELECT DISTINCT Matricola FROM Accessi)";
    $result=mysql_query($cognomi);
    if(!$result)
    die('Errore nella query' . mysql_error());
    while($row=mysql_fetch_assoc($result)) {
    echo "<option value=\"$row[Cognome]\">$row[Cognome]</option>";
    }
    ?>
    </select>
    </td>
    </tr>

    <tr>
    <td> Periodo: </td>
    <td> da </td>
    <td> <input type="text" size="10" maxlength="10" name="periodo1"> </td>
    <td> a </td>
    <td> <input type="text" size="10" maxlength="10" name="periodo2"> </td>
    </tr>
    </table>


    <input type="submit" value="Cerca">
    </body>
    </html>


    Se fosse corretto il tutto mi spiegate passo passo come usare easyphp per testarlo? Perchè ho messo il file .html nella directory www...ho caricato il database...e poi?
    Grazie a chi vorrà aiutarmi

  2. #2
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Forse il file non deve avere estensione .html ma .php ?!?
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2011
    Messaggi
    15
    Mi sento un idiota piuttosto dato che funziona...come faccio a far diventare una variabile $qualcosa quello che scelgo nel menù a tendina?
    Io ho fatto così ma non funziona...
    $c=$_REQUEST["$row[Cognome]"];

    Inoltre prima volevo mettere la condizione if(!isset($_REQUEST["$row[Cognome]"])....
    Ultima cosa: vorrei scrivere anche questa condizione if(!is_string($_REQUEST["data1"]) or !is_string($_REQUEST["data2"])) ma al posto di mettere stringa vorrei dire che è una data nel formato aaaa-mm-gg
    Come scrivere queste cose correttamente?
    Grazie ancora.

  4. #4
    più o meno lo avevi già scritto nel tuo php!

    Codice PHP:
    if (!$result)
      die(
    'Errore nella query' mysql_error());
    else {
      while(
    $row=mysql_fetch_assoc($result))
        echo 
    "<option value=" $row['Cognome'] . ">" $row['Cognome'] . "</option>";

    ma più che un cmapo intero nell'option semrpe meglio inserire un ID in modo che poi con una query sql puoi recuperare l'intero record...questo per non sprecare troppa memoria!!

    Codice PHP:
    if (!$result)
      die(
    'Errore nella query' mysql_error());
    else {
      while(
    $row=mysql_fetch_assoc($result))
        echo 
    "<option value=" $row['ID_Cognome'] . ">" $row['Cognome'] . "</option>";


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.