select box

Ciao a tutti!

Ho una select box fatta come sotto:

[...]     
   <select name='proponente'>
                <option>Selezionare</option>
                <?php
               $result = mysql_query("SELECT proponente FROM attivita GROUP BY proponente");
               while ($row = mysql_fetch_assoc($result)) { 
                  echo '<option value = ', $row['proponente'], '>', $row['proponente'], '</option>';
               }
            ?>
              </select>
   <input name="Invia dati" type="submit" class="submit" value="Cerca" />
[...]

in particolare, proponente è costituito da un nome e un cognome.

il problema è che nella select box il nome visualizzato nella tendina è giusto, ad esempio verrà visualizzato Mario Rossi ma come value viene preso solo Mario. ovvio è che essendo il value oggetto di successiva query è essenzile che venga preso tutto il nome!

come posso sistemare la cosa?

Grazie!

inviato 8 anni fa
sonny
X 0 X

Ma nella pagina HTML generata da quello script i vari "value" delle options della select sono corretti, ovvero contengono il nome ed il cognome? Se si allora è lo spazio tra nome e cognome a dar fastidio. Potresti provare a sostituirlo con un "+", magari con str_replace, e poi a toglierlo per recuperare il come corretto.

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X

Ciao Gianni, ho risolto con str_replace() in questo modo.. secondo te è corretto?

<select name='proponente'>
                <option>Selezionare</option>
                <?php
               $result = mysql_query("SELECT proponente FROM attivita GROUP BY proponente");
               while ($row = mysql_fetch_assoc($result)) { 
            $row_value = str_replace(" ", "+", $row);
            $row = str_replace("+", " ", $row);
                  echo '<option value = ', $row_value['proponente'], '>', $row['proponente'], '</option>';
               }
            ?>
              </select>

e nella pagina di destinazione:

$proponente = str_replace("+", " ", $_POST["proponente"]);
risposto 8 anni fa
sonny
X 0 X

Dovresti fare così:

<?php
$result = mysql_query("SELECT proponente FROM attivita GROUP BY proponente");
while ($row = mysql_fetch_assoc($result)) { 
   $value = str_replace(" ", "+", $row['proponente']);
   echo '<option value = "', $value, '">', $row['proponente'], '</option>';
}
?>

 :bye:

risposto 8 anni fa
Gianni Tomasicchio
X 0 X
Effettua l'accesso o registrati per rispondere a questa domanda