Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php/AJAX]
Forum PHP.pl > Forum > Przedszkole
kropla
witam możecie mi powiedzieć co jest nie halo w tym skrypcie który w pierwszym selekcie ma pobierać wartośći z jednej tabeli (Kategorię) a w drugim selekcie są wyciągane wartości z drugiej tabeli (podkategoria)

poniżej skrypt

<?php
$url = 'localhost';
$login = '';
$pass = '';
$baza ='';

$polaczenie=mysql_connect($url,$login,$pass);
$wybor=@mysql_select_db($baza);


$table_name = "kategoria_programow";
$table_name2 = "kategoria_programowii";

$sql = "SELECT * FROM $table_name";
$result = mysql_query($sql);
?>
<head>
<script type="text/javascript" src="./advajax.js"></script>
<script>
<!--
function zmien(id)
{
var adres = "pobierz2.php?id="+id;
advAJAX.get({
url: adres,
onLoading:function(obj) {document.getElementById("lista2").innerHTML='<img src="loading.gif" />'; },
onSuccess:function(obj) { document.getElementById("lista2").innerHTML=obj.responseText; },
onError:function(obj) {alert(obj.responseText); }
});
}
//-->
</script>



</head>
<select name="lista1" onchange="zmien(this.value);">
<?php
while ($row = mysql_fetch_array($result)) {
$id=$row['id'];
$nazwa=$row['Nazwa'];
echo '<option value='.$id.'>'.$nazwa.'</option>';
}
?>
</select>



<select name="lista2" onchange="zmien(this.value);">
<?php
while ($row3 = mysql_fetch_array($result3)) {
$id=$row['id'];
$nazwa=$row['Podkategoria'];
echo '<option value='.$id.'>'.$nazwa.'</option>';
}
?>
</select>

w pliku pobierz2.php jest zapytanie z warunkiem z przekazanm id i wykonanie zapytania natomiast while do niego jest już spowrotem w selekcie.

powiem dokładniej że w pierwszym selekcie listowane są kategorie natomiast select z podkategoriami zostaje pusty i nie ma na nim żadnej akcji - tak jakby nie bylo przekazywane id pola które wybrałem kategorii

dokłądniej powiem ze lista kategorii w pierwszym selekcie się pojawia natomiast drugi selekt pozostaje cały czas pusty - tak jakby nie było przekazywane id pola z pierwszego selecta
Ive
  1. <select name="lista2" onchange="zmien(this.value);">
  2. <?php
  3. while ($row3 = mysql_fetch_array($result3)) {
  4. $id=$row['id'];
  5. $nazwa=$row['Podkategoria'];
  6. echo '<option value='.$id.'>'.$nazwa.'</option>';
  7. }
  8. ?>
  9. </select>

ten kawalek.
zamien na:
  1. <select name="lista2" onchange="zmien(this.value);">
  2. <?php
  3. while ($row3 = mysql_fetch_array($result3)) {
  4. $id=$row3['id'];
  5. $nazwa=$row3['Podkategoria'];
  6. echo '<option value='.$id.'>'.$nazwa.'</option>';
  7. }
  8. ?>
  9. </select>

ze zlej zmiennej pobierales - 'row' zamiast 'row3'

PS. BBCode... uzywaj...
artur81
heh, widzę że jednak nie do końca zrozumiałeś to co pisałem w poprzednim poście
1. W funkcji JS zmien() masz ładowanie wyniku do elementu o id lista2, a takiego elementu nie masz.
Nie nadałeś drugiemu selectowi id="lista2".
2. Do drugiego selecta nie potrzebna jest funkcja zmien() bo i tak miało to działać tak, że zmieniasz pierwszy select a do drugiego idą wyniki.
Nie wiem też czy poprawiłeś sobie bazę wg tego co ci pisałem czyli żeby w podkategoriach, kategoria nie była nazwą tylko id.
Jak sobie nie będziesz mógł poradzić to wklei tutaj to co masz zrobione do tej pory to poprawię.
Może jak zobaczysz jak działa to będziesz wiedział, ale najpierw popraw tą bazę i wklej SQL, niechce mi się przerabiać tych podkategorii, wygodniej ci będzie tak pracować, a poza tym operacje na bazie są szybsze jeśli działasz na cyfrach a nie tekście.
kropla
oki poradziłem sobie z tym -> skrypt działa mi , natomiast nie wiem dlaczego jak "wsadzam" go do mojej stronki to przestaje (chodzi o przekazanie zmiennych z tych dwóch pól). Dzieje się to w momencie jak dodałem insert table ... o co chodzi?questionmark.gif jakie jest rozwiązanie na to ?

przekazuje wartosc tylko pierwszego selecta -> drugiego już nie ...
artur81
pokaż kod, może gdzieś się pomyliłeś
podpiąłeś advAJAX na stronę i umieściłeś go na serwerze?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.