Visualizzazione risultati 1 fino 17 di 17

Discussione: [Creare una] form select [in base ai contenuti di una cartella]

  1. #1
    Guest

    Predefinito [Creare una] form select [in base ai contenuti di una cartella]

    Ciao a tutti, io ho un banalissimo form select:
    Codice PHP:
    <select name="select">
    <
    option>base</option>
    <
    option>verde</option>
    <
    option>rosso</option>
    </
    select>
    solo che le opzioni devono essere i nomi di cartelle contenute in 'dati/'

    come posso fare? solo a mano o esiste uno script che me le fa in auto in caso di una futura aggiunta?

    ringrazio in anticipo

    [DS] Qualche parola in più sul titolo aiuterebbe a chiarire meglio da subito il tuo problema...
    Ultima modifica di dementialsite : 18-02-2010 alle ore 10.01.34

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ti potrebbe essere utile la funzione glob() di PHP. Negli "user contributions" trovi praticamente il tuo esempio fatto, ti basta completarlo con la stampa del codice HTML che ti serve (in questo caso, le singole <option>).

    Attenzione: il tag <option> richiede che sia specificato anche un attributo value, che altro non è che il valore passato al form quando la corrispondente opzione è selezionata.

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    grazie mille...

    e nel caso in cui le le 'option' le dovesse ricavare da db? ad esempio ogni singolo campo della colonna 'info' della taballa info_utenti?

  4. #4
    Guest

    Predefinito

    Stessa cosa.
    Esegui la query, estrai i dati e con un while generi una variabile, tipo così:
    Codice PHP:
    $sql = 'SELECT info FROM info_utenti WHERE campo = valore';
    $result = mysql_query($sql);

    $option = '';
    while(
    $row = mysql_fetch_array($result))
    {
    $option .= '<option value="">' . $row['info'] . '</option>';
    }

    #echo '<select name="">' . $option . '</select>';
    Ovviamente inserirai le dovute condizioni per far si che tutto si generi in modo corretto, non rimanga la select senza opzioni, che le option abbiano il valore corretto per poi salvare eventualmente i dati nel DB, ecc ecc.

  5. #5
    Guest

    Predefinito

    perfetto per l'elenco da mysql, invece per quanto riguarda l'elenco delle cartelle non c'e stato verso... stasera provverò ancora

  6. #6
    Guest

    Predefinito

    Cosa non riesci a fare con glob()? Devi elencare i file dentro una cartella e creare le option con i nomi dei file?

  7. #7
    Guest

    Predefinito

    no no non mi sono spiegato...

    necessito che mi vengano mostrate le cartelle (non i file) contenuti in "dati/"

    sto googlando un po alla ricerca di qualche dritta...

  8. #8
    Guest

    Predefinito

    se le cartelle è femminile, scrivi contenuti? Questo confonde.
    Comunque se avessi letto gli esempi nella pagina di php.net avresti visto che c'è un esempio.
    Codice PHP:
    array_filter(glob($path.'*'), 'is_dir')
    Comunque, prova questo:
    Codice PHP:
    $options = '';
    foreach (
    array_filter(glob($path.'*'), 'is_dir') as $dir)
    {
    $options .= '<option value="">' . $dir . '</option>';
    }

    #echo '<select name="">' . $options . '</select>';

  9. #9
    Guest

    Predefinito

    ti ringrazio era esattamente ciò che cercavo

  10. #10
    Guest

    Predefinito

    Ovviamente $path la devi cambiare come meglio credi, se non toglierla del tutto se lo script risiede nella cartella dati/

  11. #11
    Guest

    Predefinito

    sisi gia risolto tutto e integrata beniss nelle mie pagine..

    grazie mille!

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da biccheddu Visualizza messaggio
    se le cartelle è femminile, scrivi contenuti? Questo confonde.
    Comunque se avessi letto gli esempi nella pagina di php.net avresti visto che c'è un esempio.
    Codice PHP:
    array_filter(glob($path.'*'), 'is_dir')
    Comunque, prova questo:
    Codice PHP:
    $options = '';
    foreach (
    array_filter(glob($path.'*'), 'is_dir') as $dir)
    {
    $options .= '<option value="">' . $dir . '</option>';
    }

    #echo '<select name="">' . $options . '</select>';
    Ciao!
    mi sorge un dubbio....

    io ho modificato il codice cosi:

    Codice PHP:
    <?php
    $path
    ='tempate/';
    $options = '';
    foreach (
    array_filter(glob('template/*'), 'is_dir') as $dir)
    {
    $options .= '<option value="">' . $dir . '</option>';
    }

    echo
    '<select name="template" id="template">' . $options . '</select>'; ?>
    dove poi vi è un form che lancia il file "salva_modifiche.php"

    nel quale ho messo un banalissimo:

    Codice PHP:
    $n_template=$_POST['template'];
    echo
    $n_template;
    per vedere se la variabile passa.... ma non passa... come posso fare per risolvere?

    grazie in anticipo

  13. #13
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    E dire che eri pure stato avvisato...
    Citazione Originalmente inviato da dementialsite Visualizza messaggio
    ... Attenzione: il tag <option> richiede che sia specificato anche un attributo value, che altro non è che il valore passato al form quando la corrispondente opzione è selezionata.
    Il tuo codice funziona, solo che il valore di $_POST['template'] sarà sempre una stringa vuota... perché questo hai scritto nel ciclo di creazione della select.

    Puoi riscrivere così la condizione per ottenere quello che ti serve (anche se in realtà non è necessario che il valore passato dal form e quello mostrato all'utente coincidano):
    Codice PHP:
    ...
    $options .= '<option value="' . $dir . '">' . $dir . '</option>';
    ...
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  14. #14
    Guest

    Predefinito

    CIaooooo
    Rieccomi alla carica.... oggi mi son trovato alle prese con lo stesso problema, ma con sul select from diverso.... è il seguente

    <select name="jumpMenu" id="jumpMenu" onchange="MM_jumpMenu('parent',this,0)">

    che quando lo scrivo nel codice php
    Codice PHP:
    echo '<select name="jumpMenu" id="jumpMenu" onchange="MM_jumpMenu('parent',this,0)">' . $option . '</select>';
    mi da giustamente errore sul 'parent' suppongo per colpa dei '

    come posso risolvere in tal caso?

  15. #15
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Mai sentito parlare degli "escape"?
    Codice PHP:
    echo '<select name="jumpMenu" id="jumpMenu" onchange="MM_jumpMenu(\'parent\',this,0)">' . $option . '</select>';
    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  16. #16
    Guest

    Predefinito

    intanto ti ringrazio, avevo gia provato così come hai detto te.. allora mi sa che l'errore risiede in questa riga...

    Codice PHP:
    $option .= '<option value="3.php?re='. $_GET['re'] . '&gam=' . $r['game'] . '">' . $r['game'] . '</option>';
    perchè mi appare la from ma vuota...

  17. #17
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    No... la riga che hai postato sembra corretta. Non è che sia la query che usi per generare le opzioni che non produca risultati (può succedere, e potrebbe essere anche lecito...)?

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •