Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    valore di defualt di una select

    Buongiorno a tutti!
    Sto caricando il campo di una tabella, in un menù a tendina.

    Codice PHP:
    <select name="gruppo" >                       
    <?php $query2select "SELECT id,nome_gruppo FROM gruppi WHERE enabled = 1";   
    $result mysql_query($query2select);                
    $elenco mysql_num_rows($result);                 
    while (
    $fetch mysql_fetch_array($result))  {                     
    $id_gruppo $fetch['id'];                   
    $nome_gruppo $fetch               
    echo "<option value=$id_gruppo>$nome_gruppo</option>";                     
    }
    ?>                   
    </select>
    Come valore predefinito di default, vorrei però che php individui un id passato in querystring, lo confronti con ciascun $id_gruppo delle option e quando trova due valori uguali, settare l'attributo selected. Una cosa del genere, inserita nel punto giusto, potrebbe andare bene secondo voi??

    Codice PHP:
    if ($_REQUEST['id'] == $utenti['gruppo']) {                     
    return echo (
    'selected');                 

    in caso affermativo, dovrei inserire questa porzione di codice dentro echo "<option... " giusto?
    chiedo illuminazione (o delucidazione)
    grazie

  2. #2
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Mi pare che il tuo ragionamento sia corretto, confronti il valore in querystring con quello che ritrovi nel resultset della query.

    All'interno del ciclo while in cui stampi le varie option inserisci un if per il quale se i due parametri sono uguali stampi <option value=$id_gruppo SELECTED> e tutto il resto...
    Se invece i due parametri non sono uguali stampi solo la option.

    Unica cosa, non usare il $_REQUEST[]: usa $_GET[], dato che lo prelevi dalla querystring

  3. #3
    grazie innanzitutto per l'aiuto!
    io ho fatto così:

    Codice PHP:
    <select name="gruppo" >                    
    <?php $query2select "SELECT id,nome_gruppo FROM gruppi WHERE enabled = 1";                  
    $result mysql_query($query2select);                $elenco mysql_num_rows($result);                  
    while (
    $fetch mysql_fetch_array($result))                  {                  
    $id_gruppo $fetch['id'];                   $nome_gruppo $fetch['nome_gruppo'];                      
    if (
    $_REQUEST['id'] == $all['gruppo'])                       {                       
    echo 
    "<option value=$id_gruppo selected>$nome_gruppo</option>";                      
    } else{                          
    echo 
    "<option value=$id_gruppo>$nome_gruppo</option>";                      
    }                  
    }
    ?>                
    </select>
    ma non sembra funzionare..
    ovvero, non succede che l'opzione predefinita è quello in cui $_request['id'] è uguale a $all['gruppo']
    qualche consiglio??

  4. #4
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Potrebbe essere un errore di sintassi html, prova con:

    Codice PHP:

    grazie innanzitutto per l'aiuto!
    io ho fatto così:

    codice PHP:
    <select name="gruppo" >                    
    <?php
     $query2select 
    "SELECT id,nome_gruppo FROM gruppi WHERE enabled = 1";                 
    $result mysql_query($query2select);                $elenco mysql_num_rows($result);                  
    while (
    $fetch mysql_fetch_array($result))                  {                  
    $id_gruppo $fetch['id'];                   $nome_gruppo $fetch['nome_gruppo'];                      
    if (
    $_REQUEST['id'] == $all['gruppo'])                       {                       
    echo 
    "<option value=\"$id_gruppo\" selected=\"selected\">$nome_gruppo</option>";                      
    } else{                          
    echo 
    "<option value=\"$id_gruppo\">$nome_gruppo</option>";                      
    }                  
    }
    ?>                
    </select>
    Altrimenti, prova a stampare il valore di $all['gruppo'] e di $_REQUEST['id'].. magari sono realmente diversi
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  5. #5
    ho provato a stampare i valori e sono quelli giusti... a questo punto ho qualche dubbio sulla logica dell'if all'interno del ciclo while..
    please help me!

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    $all['gruppo'] da dove viene?
    per farlo funzionare prova a mettere
    Codice PHP:
    if ($_REQUEST['id'] == $id_gruppo)                       
    {                        
    echo 
    "<option value=\"$id_gruppo\" selected=\"selected\">$nome_gruppo</option>";
    }
    //poi il resto 
    sempre se id in request è l'id del gruppo

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.