Visualizzazione dei risultati da 1 a 3 su 3

Discussione: Problema con combobox

  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    Problema con combobox

    Ciao a tutti ragazzi! Ho un problema un po' particolare e non so se riuscirò a spiegarlo...


    Allora...io ho una combobox dove inserisco come voci/valore i valori dei campi nomi/ID del mio db mysql!


    Sin qui tutto ok!

    Siccome in base alla selezione che si fa nella combo la pagina viene ricaricata (anke se viene generata in php in modo diverso) ho usato questo codice:

    Codice PHP:
    echo '<select onchange="document.form1.submit()" name="comboCat" id="comboCat">';
            while(
    $lista=mysql_fetch_array($sql)){
                echo 
    ' <option value="'$lista['ID'] .'">'$lista['cat'] .'</option>';
            }
            echo 
    '</select>'
    ora il punto è che quando clicco sopra (onchange) viene si ricaricata la pagina ma con lei anche la combo...quindi anche se effettivamente mi apporta le modifiche mi rimette come prima voce quella di sempre...

    ESEMPIO:

    Io le voci:
    -Prima
    -Seconda
    -Terza

    Se io seleziono terza, la pagina si ricarica e io effettivamente mi ritrovo una tabella con dento i contenuti della categoria Terza, ma nella combo mi ritrovo sempre in testa Prima!

    Non c'è un modo per salvare l'indice o qualcosa del genere?
    Non riesco a spiegarmi bene...kiedetemi pUre!

    anke perchè...se io entro nella categoria Terza e nella combo invece mi rimette Prima quando io premo Prima (per metter quella categoria) non succede nulla visto che non c'è stato l'onchange!

  2. #2
    Premetto che non so se ho capito bene,cmq...

    Nella pagina delle combo, chiama ogni combo con un numero progressivo (name="1",name="2")

    poi nella pagina a cui invii il form metti:

    Codice PHP:
    echo '<select onchange="document.form1.submit()" name="comboCat" id="comboCat">';
            while(
    $lista=mysql_fetch_array($sql)){
    if(
    $lista['ID']==$_POST['1']) {
                echo 
    ' <option selected="selected" value="'$lista['ID'] .'" name="1">'$lista['cat'] .'</option>';
    }
    if(
    $lista['ID']==$_POST['2']) {
                echo 
    ' <option selected="selected" value="'$lista['ID'] .'" name="2">'$lista['cat'] .'</option>';
    }
            }
            echo 
    '</select>'
    nel while va continuato in base alla tua combo...

    Non l'ho provato.... se hai problemi riposta...

  3. #3
    se passi i parametri del form con il metodo POST i valori li trovi nell'array $_POST['nomecampo'] quindi fai un ciclo con un if tipo questo:
    Codice PHP:
    if (!empty($_POST['nomecampo'])){
    $valore=$_POST['nomecampo'];
    echo 
    "<option value=\"$valore\">$valore</option>";


    e ti mette come primo risultato nel combo il valore scelto e poi tutti i valori
    Never care for what they say, Never care for games they play. Never care for what they do, Never care for what they know.
    «Solo due cose sono infinite: l’universo e la stupidità umana, e sul primo non sono sicuro». (A. Einstein)

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.