Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627

    Creare menu selct collegato a query

    Ciao a tutti!
    avrei l'esigenza di creare un radiobutton/ceckbox o lista menu, dove ho 4 voci (stati) e in base alla voce selezionata vado ad eseguire una query:

    Es.
    Ho un menù con 4 voci e ad ogni voce corriponde un determinato valore

    voce 1 --> 0
    voce 2 --> 1
    voce 3 --> 2
    voce 4 --> 3

    ora vorrei che selezionando dal menu o altro, la mia voce, direttamente venga eseguita la query che mi vada a scrivere il valore nella mia tabella:

    qualche idea ?

    Grazie

  2. #2
    Utente di HTML.it L'avatar di Ranma2
    Registrato dal
    Mar 2003
    Messaggi
    2,648
    devi utilizzare ajax (javascript quindi) per fare delle chiamate asincrone

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    Per eseguire azioni "in tempo reale" dovresti utilizzare ajax o comunque javascript
    Il codice base potrebbe essere una cosa simile

    Codice PHP:
    $query_sql "SELECT `dato` FROM `tabella`"//La query

    if(!($query mysql_query($query_sql))) die(mysql_error()); //Esegue la query, o mostra l'errore se si presenta
    if(mysql_num_rows($query)){ //Se ci sono risultati

        /* Qua dovresti aprire il menu <select> */

        
    while($query_dati=mysql_fetch_array($query)){
            
    /* CODICE DA ESEGUIRE PER OGNI RIGA DELLA TABELLA.

            Quindi nel tuo caso potresti scrivere
            echo "<option value='$query_dati["id"]'>$query_dati["nome"]</option>";
        
            dove $query_dati["nome"] e $query_dati["id"] sono due colonne all'interno della tabella nel tuo DB
            $query_dati["nome"] indica il testo da visualizzare
            $query_dati["id"] indica il valore
            */

        
    }

        
    /* E qua dovresti richiudere il menu </select> */

    }else{ //Se non ci sono righe nella tabella
        
    echo "Non ci sono righe nella tabella";

    Come vedi l'ho lasciato molto generico, dimmi se può andare bene

    ---------

    Se i valori che intendi non devi prenderli dal database te la puoi cavare anche più facilmente con un ciclo for

    Codice PHP:
    $arrayVoci = array('Voce 1''Voce 2''Voce 3');

    for(
    $i=0;$i<=count($arrayVoci)-1;$i++{
        
    /* Per ogni voce scrivi il codice da mostrare.

        Sempre seguendo il tuo esempio quindi sarebbe
        echo "<option value='$i'>$arrayVoci[$i]</option>";

        dove $arrayVoci[$i] indica il testo da visualizzare, mentre $i indica il valore che aumenta automaticamente, partendo da 0
        */

    Thinker

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2004
    Messaggi
    1,627
    grazie mille per le dritte, i valori sono statici li definisco io a mano nel codice

    <select>
    <option value="0">aaa</option>
    <option value="1">bbb</option>
    <option value="2">ccc</option>
    <option value="3">ddd</option>
    </select>

    e in base alla voce che seleziono vorrei andare a scrivere il valore direttamente nel db

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2010
    Messaggi
    227
    In questo caso devi utilizzare javascript, per effettuare una chiamata ad una pagina .php che eseguirà la tua query.

    Qua puoi vedere alcuni eventi javascript
    http://www.html.it/pag/15205/onchang...lle-modifiche/

    Per effettuare una chiamata ad una seconda pagina cerca su google "ajax form" e troverai milioni di guide utili

    Se hai problemi con la query o altro chiedi pure

    Thinker

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 © 2026 vBulletin Solutions, Inc. All rights reserved.