Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    147

    inserire valori in un tag<select>

    ho una tabella (schede) strutturata così:
    id, nome, stato
    1 pippo 2
    2 pluto 5
    3 ciop 1
    ...
    ...

    dopo aver fatto la query:
    Codice PHP:
            $result mysql_query("SELECT * FROM schede"
            or die(
    mysql_error()); 
    devo creare un menu <select> (a tendina) dove posso scegliere i valori, ossia il contenuto della tabella schede nel campo nome (pippo, pluto, ciop....)

    intato faccio un while sull'array e faccio l'echo:
    Codice PHP:
    while($row mysql_fetch_array$result )) {
        echo 
    "<td>".$row['nome']."</td>

    ma non so come inserire i valori nel tag <select>

    cioè poter ottenere un risultato del genere dove pippo, pluto, ciop.. devono essere prelevati dal db

    codice HTML:
        <select name="nome schede">
        <option value="" selected> scegli scheda</option>
        <option value="1">pippo</option>
        <option value="2">pluto</option>
        <option value="3">ciop</option>
        <option value="4">.....</option>

  2. #2
    Fa' il ciclo così:


    Codice PHP:
    echo "<select>";
    while(
    $row mysql_fetch_array$result )) {    echo "<option value='".$row['id']."'>".$row['nome']."</option>\r\n";} 
    echo 
    "</select>"

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    147
    Perfetto!!

    però solo per quanto riguarda il fattore estetico come faccio ad inglobarlo nell'html che ho già?
    Perchè così com'è mi mette il select in alto a sinistra invece di affiancarmelo alla scritta "Seleziona scheda"

    Codice PHP:
      <table width="300" border="0" align="center" cellpadding="2" cellspacing="0">
        <tr>
          <th>Seleziona scheda </th>
          <td><input name="nome" type="text" class="textfield" id="nome" /></td>
        </tr>
        <?
                
    echo "<select>";
        while(
    $row mysql_fetch_array$result )) {    
            echo 
    "<option value='".$row['id']."'>".$row['nome']."</option>\r\n";
            } 
            echo 
    "</select>";  
    ?>
    <tr>

  4. #4
    Direi che per un fattore estetico io non metterei mai codice php all'interno di una pagina HTML!
    Cioè terrei tutto separato, ma sono un purista...

    Per fare quello che chiedi devi solo contare gli spazi (o le tabulazioni) che hai inserito nell'html e ripeterle all'interno delle virgolette dell'istruzione echo prima di <select>.

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    147
    mmmhh... in effetti è bruttina quella soluzione di mettere gli spazi. Anche se sono un novellino ti do ragione.
    Se volessi adottare il metodo "purista" di tenere tutto separato sai darmi qualche direzione su come procedere? Cioè come richiamo quello script dalla pagina html?

  6. #6
    Quote Originariamente inviata da lume70 Visualizza il messaggio
    mmmhh... in effetti è bruttina quella soluzione di mettere gli spazi. Anche se sono un novellino ti do ragione.
    Se volessi adottare il metodo "purista" di tenere tutto separato sai darmi qualche direzione su come procedere? Cioè come richiamo quello script dalla pagina html?
    E' bruttina, ma non hai alternative se mischi php e html.
    Per quanto riguarda la separazione tra php e html io intendevo usare un pattern MVC, ovvero mettere l'html senza php (o con al massimo delle variabili) dentro dei templates che poi vengano tutti caricati dalla classe VIEW del pattern. Cioè userei un sistema che ha un solo punto in cui si fa ECHO: alla fine del processamento dell'html da parte della VIEW. E soltanto lì.

    Comunque, l'html non ben indentato non è più un problema, inoltre se è condensato ti permette un caricamento più veloce, non trovi?

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.