Gdy mam taki kod
[php]<?php
$sql = 'SELECT * FROM menu_blok WHERE pozycja="left"';
$zapytanie = mysql_query($sql);
while($wiersz = mysql_fetch_array($zapytanie))
{
echo $wiersz['title'];
echo '<br>';
}
?>[/php]
Wyswietla wszystko OK (Blok 1, Blok 2, Blok 3)
Gdy dodałem jeszcze 2 petle :
[php]<?php
$sql = 'SELECT * FROM menu_blok WHERE pozycja="left"';
$zapytanie = mysql_query($sql);
while($wiersz = mysql_fetch_array($zapytanie))
{
echo $wiersz['title'];
echo '<br>';
$sql = 'SELECT * FROM menu_link WHERE blok_id='.$wiersz['id'];
$zapytanie = mysql_query($sql);
while($wiersz = mysql_fetch_array($zapytanie))
{
echo $wiersz['nazwa'];
echo '<br>';
}
}
?>[/php]
Nie wyswietla pozostalych blokow :/ Czemu ?? (tak jakby petla juz nie przechodzila :/) W czym blad ?? Czy wogole tak mozna ??
Problem z while :/
-
Krzysztof Gaudy
- Nowy

- Posty: 77
- Rejestracja: sob sty 17, 2004 11:10 am
- Lokalizacja: Kraków
- Kontakt:
Błędny kod
Witam !
Najważniejsze jednak: zmień nazwy zmiennych w drugiej wewnętrznej pętli, na np. $zapytanie2, $sql2, $wiersz2. Powinno pomóc, daj znać czy o to chodziło. Wyświetla Ci się jakiś komunikat o błędzie?
W powyższym usuń apostrofy wokół id.... id='.$wiersz['id'];
Najważniejsze jednak: zmień nazwy zmiennych w drugiej wewnętrznej pętli, na np. $zapytanie2, $sql2, $wiersz2. Powinno pomóc, daj znać czy o to chodziło. Wyświetla Ci się jakiś komunikat o błędzie?
Re: Problem z while :/
Teraz działa
Nie pomyslalem ze to przez podwojone nazwy
(bo tylko skopiowalem bezmyslnie od wyswietlania tytulu bo sie pisac nie chciało
)
-
Krzysztof Gaudy
- Nowy

- Posty: 77
- Rejestracja: sob sty 17, 2004 11:10 am
- Lokalizacja: Kraków
- Kontakt:
Zastępowanie zmiennych
Witam !
Po prostu pętla druga zastępowała nazwy zmiennych pętli pierwszej, przez co zamiast powtarzającego się zapytania pierwszego do bazy danych, miałeś cały czas zapytanie drugie w pętli pierwszej, które nie mogło być zrealizowane.
Po prostu pętla druga zastępowała nazwy zmiennych pętli pierwszej, przez co zamiast powtarzającego się zapytania pierwszego do bazy danych, miałeś cały czas zapytanie drugie w pętli pierwszej, które nie mogło być zrealizowane.