Autor Zpráva
ohenryo
Profil
Dobrý den,

nevím si rady mám funkci vyběrového formuláře:

function sel_mesto($mesto='select',$id='',$onchange=false) {
if ($onchange) 
{
  $change=' onchange="document.getElementById(\''.$onchange.'\').submit();"';
} else {
  $change='';
}
$kraje = array('Jihočeský'=>'1', 'Jihomoravský'=>'2', 'Karlovarský'=>'3', 'Královéhradecký'=>'4',
 'Liberecký'=>'5', 'Moravskoslezský'=>'6', 'Olomoucký'=>'7', 'Pardubický'=>'8', 'Plzeňský'=>'9',
 'Hlavní město Praha'=>'10', 'Středočeský'=>'11', 'Ústecký'=>'12', 'Vysočina'=>'13', 'Zlínský'=>'14');
$mesta = array('Kromeříž'=>'14', 'Uherské Hradiště'=>'14', 'Vsetín'=>'14', 'Zlín'=>'14', 'Havlíčkův Brod'=>'13', 'Jihlava'=>'13', 'Pelhřimov'=>'13',
 'Třebíč'=>'13', 'Žďár nad Sázavou'=>'13', 'Děčín'=>'12', 'Chomutov'=>'12', 'Litoměřice'=>'12', 'Louny'=>'12', 'Most'=>'12',
 'Teplice'=>'12', 'Ústí nad Labem'=>'12', 'Benešov'=>'11', 'Beroun'=>'11', 'Kladno'=>'11', 'Kolín'=>'11', 'Kutná Hora'=>'11', 'Mělník'=>'11',
 'Mladá Boleslav'=>'11', 'Nymburk'=>'11', 'Praha - východ'=>'11', 'Praha - západ'=>'11', 'Příbram'=>'11', 'Rakovník'=>'11', 'Praha'=>'10',
 'Domažlice'=>'9', 'Klatovy'=>'9', 'Plzeň - jih'=>'9', 'Plzeň - město'=>'9', 'Plzeň - sever'=>'9', 'Rokycany'=>'9', 'Tachov'=>'9', 'Chrudim'=>'8',
 'Pardubice'=>'8', 'Svitavy'=>'8', 'Ústí nad Orlicí'=>'8', 'Jeseník'=>'7', 'Olomouc'=>'7', 'Prostějov'=>'7', 'Přerov'=>'7', 'Šumperk'=>'7',
 'Ostrava'=>'6', 'Opava'=>'6', 'Nový Jičín'=>'6', 'Karviná'=>'6', 'Frýdek - Místek'=>'6', 'Bruntál'=>'6', 'Semily'=>'5', 'Liberec'=>'5', 'Jablonec nad Nisou'=>'5',
 'Česká Lípa'=>'5', 'Trutnov'=>'4', 'Rychnov nad Kněžnou'=>'4', 'Náchod'=>'4', 'Jičín'=>'4', 'Hradec Králové'=>'4', 'Sokolov'=>'3',
 'Karlovy Vary'=>'3', 'Cheb'=>'3', 'Znojmo'=>'2', 'Vyškov'=>'2', 'Hodonín'=>'2', 'Břeclav'=>'2', 'Brno - venkov'=>'2', 'Brno - město'=>'2',
 'Blansko'=>'2', 'Tábor'=>'1', 'Strakonice'=>'1', 'Prachatice'=>'1', 'Písek'=>'1', 'Jindřichův Hradec'=>'1', 'Český Krumlov'=>'1', 'České Budějovice'=>'1',
 'Praha 1'=>'10', 'Praha 2'=>'10', 'Praha 3'=>'10', 'Praha 4'=>'10', 'Praha 5'=>'10', 'Praha 6'=>'10', 'Praha 7'=>'10', 'Praha 8'=>'10',
 'Praha 9'=>'10', 'Praha 10'=>'10');

  $ret = '
      <select class="sel" name="mesto"'.$id.$change.'>
        <option value="select" class="select">Vyberte město...</option>
        ';

    foreach ($kraje as $ki => $kv) {
    if ($kraje == $ki) {$selected = ' selected="selected"';} else $selected = '';
    $ret .= sprintf ('<option value="%s" class="%s"%s>%s',$ki,$kraje[$kv-1],$selected,$ki);
    
    foreach ($mesta as $i => $v) if ($v == $kv) {
      if ($kraje == $i) {$selected = ' selected="selected"';} else $selected = '';
      $ret .= sprintf ('<option value="%s" class="%s"%s>%s</option>',$i,$kraje[$ki],$selected,$i);
    } $ret.= '
</option>';  } 
  $ret.= '
  </select>';
  return $ret;
}


dalším souboru mám validaci

$q_kraj = '';

if ($in['mesto']) if ($in['mesto']!='select') $q_kraj = sprintf(" AND companies.okres='%s'", mysql_real_escape_string($in['mesto']));

a nebo když chci aby to vybíralo kraje tak:

if ($in['kraje']) if ($in['kraje']!='select') $q_kraj = sprintf(" AND companies.kraj='%s'", mysql_real_escape_string($in['kraje']));

Jak mám nastavit to, že když si vyberu kraj aby se mi zobrazil kraj, problém je v tom, že musím přejmenovat <select class="sel" name="mesto"'.$id.$change.'>


na <select class="sel" name="kraje"'.$id.$change.'>

a fungují mi kraje, ale nefunguje mi výběr města,

děkuji za radu
AM_
Profil
Tak si počkej až ty skripty nějaký moderátor hodí do tagu kódu, tohle asi nikdo číst nebude... propříště to tlačítko <> je na vložení kódu.
ohenryo
Profil
Už to je v kodu, tak poradí mi někdo prosím

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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