Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it L'avatar di Reiko81
    Registrato dal
    Oct 2009
    Messaggi
    203

    Form con select -> switch

    Ciao a tutti!

    Ho un form con una select tre valori:
    audio - video - foto

    Ho fatto in modo che ad ogni valore corrispondesse uno switch con le relative direttive di cosa richiamare dal database... ma ho un problema!
    Quando do "invio" per passare agli switch uno dei tre valori, la Select si riposiziona automaticamente sul primo.
    C'è un modo per dirgli che deve rimanere selezionato quello che ho selezionato?

    codice:
    <form name="tipo" method="post">
        Visualizza album: <select name="tipoGallery" id="tipoGallery">
                <option value="foto">foto</option>
                <option value="video">video</option>
                <option value="audio">audio</option>
              </select>
      <input name="invia" type="submit" value="Invia" />
    </form>
    
           <?php 
    @$T = $_POST['tipoGallery'];
    if ( $_POST['tipoGallery'] !=""){
    switch ($T){
    	
    	case ('foto'):
    	$sql = "SELECT * FROM gallery WHERE tipoGallery='foto' ORDER BY nomeGallery ASC";
       $risultato = mysql_query($sql,$con);
       break;
    		
    	case ('audio'):
    		$sql = "SELECT * FROM gallery WHERE tipoGallery='audio' ORDER BY nomeGallery ASC";
       $risultato = mysql_query($sql,$con);
       break;
       
       	case ('video'):
    		$sql = "SELECT * FROM gallery WHERE tipoGallery='video' ORDER BY nomeGallery ASC";
       $risultato = mysql_query($sql,$con);
       break;
    		}
    ecc...

  2. #2
    Sì.
    Anzichè costruire "staticamente" la select, costruiscila dinamicamente
    Codice PHP:
    foreach (valori_select as valore){
     if (
    post valore) {
            
    selezionata "selected"
        
    } else {
            
    selezionata ""
        
    }
     echo 
    "<option selezionata value = valore ...."


  3. #3
    Puoi anche fare una cosa del genere, nodificando la parte della form del tuo codice in:

    Codice PHP:
    <?php
    $a 
    = array('foto' => '''video' => '''audio' => '');
    if (isset(
    $_POST['tipoGallery'])) {
        
    $a[$_POST['tipoGallery']] = "selected";
    }
    ?>
    <form name="tipo" method="post">
        Visualizza album: 
        <select name="tipoGallery" id="tipoGallery">
            <?php
            
    foreach ($a as $k => $v) {
                echo 
    "<option value='$k$v>$k</option>";
            }
            
    ?> 
        </select>
      <input name="invia" type="submit" value="Invia" />
    </form>

    ...
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it L'avatar di Reiko81
    Registrato dal
    Oct 2009
    Messaggi
    203
    Perfetto, grazie! Funzionano entrambe! Grazie ancora!

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.