Autor Zpráva
Michales
Profil
Ahoj všem,

prosím o radu jak udělat následující.

Nyní to mám takto:
<form action="" name="changeInterpreti">      
         <h5 style="text-align: center;">Foreign Artist </h5>
<select style="width: 180px;" name="interprets">  
          <option selected='selected'>---Select an artist---
          </option>  
<?php   
$query = "SELECT * FROM `interprets`";
$result = mysql_query($query) or die(Mysql_error());
While($results=MySQL_Fetch_Assoc($result))
          {   
          if($results['region'] == 'F') {          
       echo '<option value="'.$results['id'].' "> '.$results['name'].' </option>'; 
           }
           elseif($results['region'] == 'H') {   
          echo'<option value="'.$results['id'].' ">'.$results['name'].'</option>';
          }
          elseif($results['region'] == 'O') {   
          echo'<option value="'.$results['id'].' ">'.$results['name'].'</option>';
          }
          } ?>  
        </select> 
    </form>

Ale potřeboval bych to udělat aby to bylo rozdělené do samostatných selectů, tzn. F mělo svůj form select, H mělo svůj form slect a O mělo svůj form select. Nyní je to všechno v jednom.
Jak to prosím udělat?
Děkuji za radu.
mimochodec
Profil
Zkusil bych nějak takto. Netestoval jsem, snad tam nebude nějaká muška.

<?php

<form action="" name="changeInterpreti">      
<h5 style="text-align: center;">Foreign Artist </h5>

<?php   

$query = "SELECT * FROM `interprets` ORDER BY region";
$result = mysql_query($query) or die(Mysql_error());

$old = "";

while($results=MySQL_Fetch_Assoc($result)) {   

  if($results['region'] != $old) {          

    if($old != "") {          
      echo "</select>";
    }

    if($results['region'] == 'F') {          
      echo "<select style='width: 180px;' name='interprets'>";  
      echo "<option selected='selected'>---Select an artist---";
    }

    if($results['region'] == 'H') {          
      echo "<select style='width: 180px;' name='necojineho'>";  
      echo "<option selected='selected'>---Select an jine---";
    }

    if($results['region'] == 'O') {          
      echo "<select style='width: 180px;' name='jestenecojineho'>";  
      echo "<option selected='selected'>---Select an jinexx---";
    }
  }

  echo '<option value="'.$results['id'].' "> '.$results['name'].' </option>'; 

  $old = $results['region'];
}

if($old != "") {          
  echo "</select>";
}

?>  
</form>
    
    
?>
Michales
Profil
mimochodec:
Zobrazuje to naprosto správně,
ovšem mám problém že to přeměrovává jen z toho prvního selectu. Při výběru z těch dvou ostatních to neudělá nic.
Přesměrovávám pomocí:
<script>
document.changeInterpreti.interprets.onchange = function() {
  window.location.href = "/show.php?interpret=" + this.value;
}</script>
mimochodec
Profil
document.changeInterpreti.interprets.onchange = function() {
  window.location.href = "/show.php?interpret=" + this.value;
}
Ano, toto zařídí přesměrování jen pro ten jeden select. Pro ty další dva si tam přidej obdobné tři řádky. Ale narazíš na to, že asi budeš chtít přenést všechny ty tři hodnoty, což takto nepůjde. Nejspíš se neobejdeš bez nějakého submitu a onchange budeš muset oželet. Ono je to i pro uživatele lepší. Kdybych si vybral jedno kritérium a hned se mi něco otevřelo, nebyl bych rád. Jestli na tom trváš, zvaž Pokročilé formuláře » Skupina voleb Optgroup
Michales
Profil
mimochodec:
Díky moc za radu a za pomoc.
mimochodec
Profil
Za málo. Pak třeba napiš, jaks to vyřešil.
Michales
Profil
mimochodec:
Asi ne moc spravne, ani asi elegantne ale proste jsem pridal dalsi radky toho javascriptu :-/

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: