Dinamičko punjenje select box-a

1

Dinamičko punjenje select box-a

offline
  • galeon  Male
  • Novi MyCity građanin
  • Pridružio: 11 Apr 2012
  • Poruke: 21
  • Gde živiš: Banja Luka

Nisam na forumu pronašao sličnu temu pa nisam znao gdje tačno da postavim ovu svoju, ako je na krivom mjestu molim administratora da je premjesti na pravo.

Znači, imam jedno pitanje vezano za jedan problem oko punjenja select box-ova iz mysql baze.
U php index fajlu se nalaze tri select box-a koja vuku AJAX-om podatke iz baze.
U prvom box-u se ispisuju drzave, u drugom republike, a u trećem gradovi tih republika.
Kad izaberem državu ajax vuče podatke vezano za republike koje pripadaju toj drzavi i gradove koji pripadaju pojedinim republikama u trećem box-u.
Problem nastaje kad želim iz box-a sa republikama izabrati neku drugu stavku i da onda ajax povuče iz baze podatke koji su vezani za nju.
Ovo samo funkcioniše za prve stavke u select box-ovima, za ostale ne fercera. Tražio sam po internetu rješenje i nisam ga mogao izguglati, pa se nadam da će se ovdje naći neko ko će mi moći pomoći.

mycity.rs/must-login.png

mycity.rs/must-login.png

mycity.rs/must-login.png












mycity.rs/must-login.png



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Pridružio: 16 Jan 2010
  • Poruke: 241
  • Gde živiš: Zemun

Aj postavi kod koji si napisao. Mislim da ovo može da se reši implementacijom onchange u svaki od select box-ova. Čim izabereš neku drugu stavku, on na promenu, poziva funkciju koju si napravio.



offline
  • galeon  Male
  • Novi MyCity građanin
  • Pridružio: 11 Apr 2012
  • Poruke: 21
  • Gde živiš: Banja Luka

Stavio sam ja već kod u prva tri linka u prethodnoj poruci, ali nema veze evo opet ću ga kopirati ovdje:

[code]
<html>

<head>
<title></title>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>

<script type="text/javascript">
$(document).ready(function(){
$("#drzava").change(function (){
var id = $(this).val();
var dataString = 'id=' + id;

$.ajax({
type: "POST",
url: "republike.php",
data: dataString,
cache: false,
success: function(msg){
$("#republika").html(msg);
}
});
});
});
</script>

<script type="text/javascript">
$(document).ready(function(){
$("#drzava").change(function(){
var id = $(this).val();
var dataString = 'id=' + id;

$.ajax({
type: "POST",
url: "gradovi.php",
data: dataString,
cache: false,
success: function(msg){
$("#grad").html(msg);
}
});
});
});
</script>

</head>

<body>
<form name="forma" id="forma" action="republike.php" method="POST" >
<div style="margin:80px">
<label>Drzave :</label>
<select name="drzava" id="drzava" >
<option selected="selected">--Izaberite drzavu--</option>
<?php
include('conn.php');
$sql=mysql_query("select * from drzava");
while($row=mysql_fetch_array($sql)){
$drzava=$row['drzavaId'];
$drzave=$row['drzave'];
echo '<option value="'.$drzava.'">'.$drzave.'</option>';
}?>
</select> <br/><br/>

<label>Republike :</label>
<select name="republika" id="republika">
<option selected="selected">--Izaberite republiku--</option>
</select>

</select> <br/><br/>

<label>Gradovi :</label>
<select name="grad" id="grad">
<option selected="selected">--Izaberite grad--</option>
</select>
</div></br>
</form>

</body>

</html>

[code]
<?php
include('conn.php');
if($_POST['id']){
$drzava=$_POST['id'];
$sql=mysql_query("select * from republika where drzavaId='$drzava'");

while($row=mysql_fetch_array($sql))
{
$republika=$row['republikaId'];
$republike=$row['republike'];
echo '<option value="'.$republika.'">'.$republike.'</option>';

}
}
?>[/code]

[code]
<?php

include('conn.php');
if($_POST['id'])
{
$drzava=$_POST['id'];

$sql2=mysql_query("select * from gradovi where
republikaId = '$drzava' and drzavaId='$drzave'");

while($row=mysql_fetch_array($sql2)){
$gradId=$row['gradId'];
$gradovi=$row['gradovi'];
echo '<option value="'.$gradId.'">'.$gradovi.'</option>';

}
}

?>
[/code]

offline
  • C# and PHP Developer
  • Pridružio: 16 Feb 2011
  • Poruke: 1630
  • Gde živiš: Pancevo

Napisano: 05 Maj 2012 20:04

Tvoj problem nema veze sa PHP-om... Premesticu ti u odgovarajuci forum, mozda ces tamo dobiti vise pomoci sto se Ajaxa tice...

Pozdrav!!!

Dopuna: 05 Maj 2012 20:05

Formatiraj kod.

offline
  • galeon  Male
  • Novi MyCity građanin
  • Pridružio: 11 Apr 2012
  • Poruke: 21
  • Gde živiš: Banja Luka

O.K. za premještanje posta.

A što se tiče formatiranja koda - problem nije do mene, kod sam formatirao i prilijepio ga uradni prozor ali u prozoru za pregled poruke čitav kod se jednostavno zalijepi za lijevu marginu. Ne znam gdje je problem?
Uglavnom, ja sam odlučio da formatiran kod zalijepim u word dokument i da fajlove prikačim uz poruku.


mycity.rs/must-login.png



mycity.rs/must-login.png



mycity.rs/must-login.png

Nadam se da će mi neko ponuditi neko rješenje za ovaj problem koji imam.
I, unaprijed se svima zahvaljujem!

offline
  • lnenad  Male
  • Stručni saradnik
    Web
  • Nenad
  • Arhitetak
  • Pridružio: 16 Jan 2007
  • Poruke: 2860
  • Gde živiš: Bijeljina

Ja licno nikako nisam skontao sta je tvoj problem iz prve poruke?

edit: I kad ikac kaze da ga formatiras, misli da dodas [ code][ /code] tagove pri pocetku i kraju koda.

offline
  • galeon  Male
  • Novi MyCity građanin
  • Pridružio: 11 Apr 2012
  • Poruke: 21
  • Gde živiš: Banja Luka

lnenad ::Ja licno nikako nisam skontao sta je tvoj problem iz prve poruke?

edit: I kad ikac kaze da ga formatiras, misli da dodas [ code][ /code] tagove pri pocetku i kraju koda.


'ajde krenuću sa odgovorom odpozadi, pa ja sam kod stavio u između tagova, samo što to nije na kraju ispalo kao na drugim forumima - ne znam zašto, možda sam negdje pogriješio.

A, što se tiče mog problema, pa stvar je u tome, da mi jednostavno nije jasno kako to tačno trebam povezati sve tri padajuće liste putem AJAX-a, tako da kad hoću iz druge padajuće liste, koja sadrži tri stavke, da izaberem drugu stavku u nizu da mi tada AJAX povuče podatke iz baze vezane za tu stavku i upiše ih u treću padajuću listu. Naprimjer, u startu kad izaberem iz prve p.liste državu u ovom slučaju to je Jugoslavija, ajax povuče iz baze tri republike (Sloveniju, Hrvatsku, Srbiju) i smjesti ih u drugu p.listu,
zatim automatski nastavlja dalje da vuče podatke iz baze vezano za gradove koji pripadaju tim repulikama i smješta ih u treću p. listu; ali, ajax izvuče gradove samo gradove za Sloveniju i poslije toga više ništa. E, tu je problem.

offline
  • Pridružio: 16 Jan 2010
  • Poruke: 241
  • Gde živiš: Zemun

Ajax kod koji si implementirao radi samo na promenu selectbox-a sa id-jem drzava, kao da si prekopirao kod i samo promenio naziv fajla koji ce pozivati, ali deo gde definises za koji id treba da ti detektuju promenu i pozovu funkciju change ti je ostalo #drzava. Zato mislim da ti ne radi.

offline
  • galeon  Male
  • Novi MyCity građanin
  • Pridružio: 11 Apr 2012
  • Poruke: 21
  • Gde živiš: Banja Luka

cvrlebg ::Ajax kod koji si implementirao radi samo na promenu selectbox-a sa id-jem drzava, kao da si prekopirao kod i samo promenio naziv fajla koji ce pozivati, ali deo gde definises za koji id treba da ti detektuju promenu i pozovu funkciju change ti je ostalo #drzava. Zato mislim da ti ne radi.

Pokušao sam da selektujem #republika umjesto #drzava, ali mi onda ništa ne radi.
Mora da postoji način da se ovo pravilno izvede, samo ga ja ne mogu nigdje na internetu pronaći.

offline
  • PHP programer
  • Pridružio: 26 Okt 2007
  • Poruke: 1064
  • Gde živiš: u Apache

Napisano: 05 Maj 2012 23:50

@galeon

ako sam te ja dobro razumeo, tebi treba ovako nešto. Imaš ovde sve bukvalno nacrtano, imaš ovde Download source , ubaci svoje podatke ,republike gradove i teraj mile volovi na reku. Smile

http://tutorialzine.com/2011/11/chained-ajax-selects-jquery/

Dopuna: 06 Maj 2012 1:02

A ako hoćeš malo više fancy od ovoga , da se rešiš combo boxova, evo ti idealno rešenje gde ćeš imati prikazane npr države, a republike i gradove dobiti na klik svake od njih.

http://bmharwani.hubpages.com/hub/AccessingDatabaseAJAX

Ko je trenutno na forumu
 

Ukupno su 1049 korisnika na forumu :: 38 registrovanih, 9 sakrivenih i 1002 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, airsuba, amaterSRB, bojank, Chainsaw, comi_pfc, Dorcolac, draganca, Fabius, GandorCC, Georgius, Hexe, HogarStrashni, Karla, Krvava Devetka, Kvazar, ladro, Luka Blažević, marsovac 2, MB120mm, milenko crazy north, Milometer, Milos82, MilosKop, mocnijogurt, nemkea71, novator, Panter, Parker, pein, raptorsi, Shinobi, Smd, Srle993, stegonosa, vathra, VP6919, Yugol33