Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    61

    [PHP/MySQL] query su select multipla

    Ciao a tutti!

    il mio problema è di semplice spiegazione (e spero/immagino anche di semplice soluzione):

    ho una select multipla i cui valori vengono inseriti dall'utente attraverso un codice javascript che li ricava da una lista a fianco. Una volta terminata questa selezione da parte dell'utente vorrei ricavare tutti questi nomi per poterci fare (uno per uno) delle query sul database di riferimento; dovrei quindi scorrere tutti questi options e per ognuno ricavarne value e text per poi usarli come valori nelle query.

    Sapete dirmi come devo fare?

  2. #2
    Non ho capito molto XD
    Due cose sono infinite: l'universo e la stupidità umana, ma riguardo l'universo ho ancora dei dubbi! (A.Einstein)

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    61
    Si in effetti sono stato un pò confusionario ^^

    Dunque io ho una select multipla di questo tipo

    Codice PHP:
    <select multiple size="10" style="width:70" name="selezionati"
    molto semplice.

    In questa select i valori vengono inseriti con un codice javascript di cui a questo link http://javascript.internet.com/misce...dual-list.html con la differenza che quella a destra a cui mi sto riferendo è inizialmente vuota ( questo per dire che non sono io a decidere quali valori vi vengono inseriti ma è l'utente che li sceglie da una lista da me fornita ).

    Una volta terminato il riempimento di questa select io dovrei, per ogni valore che vi è stato inserito, eseguire una query sul database per registrare i cambiamenti, e mi stavo appunto chiedendo come posso ricavare i valori di questa select utilizzando magari un while..

  4. #4
    usa un foreach sull'array $_POST.

    puoi vedere come e' composto l'array stampandolo e organizzarti la query come ti serve.

    stampa l'array $_POST ad inizio pagina con:

    echo "<pre>";
    print_r($_POST);

    e poi organizzi il foreach()

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    61
    Originariamente inviato da piero.mac
    usa un foreach sull'array $_POST.

    puoi vedere come e' composto l'array stampandolo e organizzarti la query come ti serve.

    stampa l'array $_POST ad inizio pagina con:

    echo "<pre>";
    print_r($_POST);

    e poi organizzi il foreach()
    Dunque ho fatto qualche tentativo: ho inserito un pulsante di prova del tipo

    Codice PHP:
    echo "<input name=\"prova\" value=\"SI\" type=\"submit\">"
    che quando si preme ricarica la pagina per via del type=submit.

    A inizio pagina ho inserito un foreach del tipo

    Codice PHP:
    $lista =  $_POST['selezionati'];
    foreach (
    $lista as $t)
    {
        print(
    $t);

    ma l'errore che mi viene restituito al caricamento della pagina è Invalid argument supplied for foreach()

    La select 'selezionati' è costituita da una lista di <option value=xxx>text</option>

  6. #6
    Codice PHP:

    foreach ($_POST as $key => $value 

        echo  
    "$key  => $value";

    foreach vuole un array.

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  7. #7
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Originariamente inviato da piero.mac
    Codice PHP:

    foreach ($_POST as $key => $value 

        echo  
    "$key  => $value";

    foreach vuole un array.
    Esatto.
    E se vuoi che il tuo select multiplo crei un array, devi dargli un nome che finisca con le parentesi quadre, altrimenti l'ultimo valore sovrascriverà sempre i precedenti.

    Codice PHP:
    <select multiple size="10" style="width:70" name="selezionati[]"

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    61
    Per maggiore chiarezza vi faccio uno screenshot

    La lista di sinistra è quella da cui ricavo i valori, ed è riempita dal database con una query. La listra di destra è selezionati e viene riempita dall'utente sfruttando i pulsanti che sfruttano il javascript di cui al mio secondo post in questo topic.

    Quello che dovrei fare è, per le voci che l'utente porta nella lista di destra, eseguire delle query che sfruttano quei valori: indicativamente una query per ogni valore in quella select.

    Ottenere un array da quella select ed usarvi un foreach mi pare un'idea ottima, solo che sostituendo il nome "selezionati" con "selezionati[]" i pulsanti (ai quali ovviamente ho aggiornato il nome) fatti in javascript non funzionano più

    Inoltre stavo iniziando a chiedermi la precisa sintassi con la quale dovrei creare il pulsante che mi richiama la funzione incaricata appunto di svolgere la funzione di cui sto parlando..

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2006
    Messaggi
    61
    Rinnovo la mia richiesta di aiuto!

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.