![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 3.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam. mam 2 pola select a w nim maja znajdować sie kraje oraz ich miasta. wszystkie dane maja byc pobierane z bazy danych z 2 tabel miasto i kraj. Czyli select pierwszy zależny od drugiego.
Mam 3 pliki index.html Kod <html> <head> <meta http-equiv="content-type" content="text/html; charset=iso-8859-2"> <script type="text/javascript" src="ajax.js"></script> <script type="text/javascript"> var ajax = new sack(); function getml(sel) { var cc = sel.options[sel.selectedIndex].value; document.getElementById('miasto').options.length = 0; if(cc.length>0){ ajax.requestFile = 'getm.php?cc='+cc; ajax.onCompletion = makem; ajax.runAJAX(); } } function makem() { var obj = document.getElementById('miasto'); eval(ajax.response); } </script> </head> <body> <form action=""> <select id="kraj" name="kraj" size="1" onchange="getml(this)"> <option value="">--</option> <?php $conn = mysql_connect('mysql2.yoyo.pl','db698643','*****'); $db = mysql_select_db('db698643',$conn); if($sql = mysql_query("SELECT * FROM kraj ORDER BY nazwa ASC",$conn)) while ($rekord = mysql_fetch_array($sql)){ if($rekord['nazwa']=='Polska') echo '<option value="'.$rekord['id'].'" selected>'.$rekord['nazwa'].'</option>'; else echo '<option value="'.$rekord['id'].'">'.$rekord['nazwa'].'</option>'; } mysql_close($conn); ?> </select> <select id="miasto" name="miasto" size="1"> <option value="">Wybierz miasto</option> </select> </form> </body> </html> getm.php Kod getm.php <?PHP if(isset($_GET['cc'])){ $k=htmlspecialchars($_GET['cc']); $conn = mysql_connect('mysql2.yoyo.pl','db698643','****'); $db = mysql_select_db('db698643',$conn); echo '<option value="">--</option>'; if($sql = mysql_query("SELECT * FROM miasto WHERE kraj='$k' ORDER BY nazwa ASC",$conn)) while ($rekord = mysql_fetch_array($sql)){ echo '<option value="'.$rekord['id'].'">'.$rekord['nazwa'].'</option>'; } mysql_close($conn); } ?> oraz dołączony plik ajax.js to struktura tabel Kod CREATE TABLE kraj ( id int(11) unsigned NOT NULL auto_increment, nazwa varchar(255) NOT NULL, PRIMARY KEY (id), UNIQUE KEY nazwa (nazwa) ); CREATE TABLE miasto ( id int(11) unsigned NOT NULL auto_increment, nazwa varchar(255) NOT NULL, kraj int(11) NOT NULL, PRIMARY KEY (id) ); Pierwszy Select wyświetla mi kraje z bazy, lecz drugi jest pusty. Czy w kodzie jest błąd? prosze o pomoc, pozdrawiam Ten post edytował bbula 19.03.2009, 23:40:05 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 17.09.2025 - 17:49 |