Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Closed TopicStart new topic
> [php][myql] wyświetlanie kategorii ja w katalogu
oomaster
post
Post #1





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


Witam

Mam okropny problem. Otóż mam problem z pobraniem rekordów z mysql w estetycznej formie. Chodzi mi aby pobrać rekordy w ten sposób:

Kategoria
Podkategoria, podkategoria, podkategoria

Kategoria1
Podkategoria1, podkategoria1, podkategoria1

A pobiera mi sie z bazy w ten sposób:
Kategoria
Podkategoria
Kategoria
Podkategoria
Kategoria1
Podkategoria1
Kategoria1
Podkategoria1

Komletnie nie wiem co robić. Próbowałem z pętlami ale taki meksyk sie robi na stronie ,że szkoda gadać.

Tutaj jest to co obecnie wymyśliłem i niemge sobie poradzić z tym:
  1. <?
  2. $q = mysql_query("SELECT balor_kat.nazwa, balor_kat_1.nazwa_1 FROM balor_kat, balor_kat_1 WHE
    RE balor_kat.id = balor_kat_1.id_kat"
    );
  3. $i = 0;
  4.  
  5. echo "<table style="width: 500px;" cellpadding="0" cellspacing="0">";
  6. echo '<tr>'; 
  7. while($r = mysql_fetch_assoc($q))
  8. {
  9. echo '<td style="width:245px; vertical-align:top;"><b>' . $r['nazwa'] . '</b><br/>' . $r['nazwa_1'] . '</td>';
  10. $i++;
  11.  
  12. echo ( $i % 2 == 0 ) ? '</tr><tr>' : ''; 
  13. }
  14. echo '</tr>';
  15. echo '</table><br/><br/>';
  16. ?>


Czy ktoś wie jak to zrobić ,żeby było np. coś jak na http://qlweb.info (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?
Go to the top of the page
+Quote Post
joebezucha
post
Post #2





Grupa: Zarejestrowani
Postów: 43
Pomógł: 1
Dołączył: 23.05.2007
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


jak sie robi "meksyk" (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) to moze odpowiednio przerób te dane w jakiejs funkcji i dopiero bierz sie za wyswietlanie...
Go to the top of the page
+Quote Post
Fixus
post
Post #3





Grupa: Zarejestrowani
Postów: 295
Pomógł: 9
Dołączył: 8.02.2006

Ostrzeżenie: (0%)
-----


ja ci powiem jak u siebie zrobiłem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Kod
$query = "SELECT * FROM kategoria";
$result = mysql_query($query);
while($item = mysql_fetch_array($result)) {
$kategoria = $item['nazwa_kategorii'];
echo $kategoria.'<br />';
$query = "SELECT * FROM podkategoria WHERE kategoria = '$kategoria'";
$result = mysql_query($query);
while($item = mysql_fetch_array($result)) {
echo $item['nazwa_podkategorii'].'<br />';
}
}


mniej więcej tak (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Pisane od ręki...ale pierw robisz zapytanie do tabeli z kategoriami wyswietlasz jej nazwę a potem dodajesz dodatkową pętle która wyciąga nazwy odpowiednich podkategorii...oczywiście w tabelii podkategorii potrzebujesz pola które przechowuje nazwę kategorii nadrzędnej (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
oomaster
post
Post #4





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


OK działa ale nie wiem czemu ta pierwsza pętla nie działa chyba bo wyświetla mi jedną kategorię (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
sticker
post
Post #5





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


to moze lepiej skorzystaj z kilku zapytań
  1. <?php
  2. $results= mysql_query("pobieranie kategorii");
  3. while( $row = mysql_fetch_row($results) ){
  4. // pobrałeś sobie kategorie i cos tam mielisz bierzesz id i do następnego zapytani
    a dodajesz jako warunek
  5. $sql = "pobieranie podkategori na podstawie pobranego id kategorii";
  6. $results1 = mysql_query($sql);
  7. while( $row = mysql_fetch_row($results1) )
  8. // no i tu masz liste podkategorii i cosik z nią robisz
  9. }
  10. ?>



możesz też skorzystać z union ale to też musisz wiedzieć jak iterować id kategorii

Ten post edytował sticker 1.08.2007, 13:40:16
Go to the top of the page
+Quote Post
oomaster
post
Post #6





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


W twoim kodzie jest kilka błędów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale spróbuje to naprawić

Cyba namieszałeś ze zmiennymi jak możesz to sprawdź ten kod bo u mnie na stronie nic nie ma (IMG:http://forum.php.pl/style_emoticons/default/ohmy.gif)
Go to the top of the page
+Quote Post
sticker
post
Post #7





Grupa: Zarejestrowani
Postów: 611
Pomógł: 19
Dołączył: 28.02.2005
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


nie no LoL

uzupełniej sobie zapytania samemu przecież mamy Ci pokazać w jakis sposób coś robić a nie dawać gotowca
Go to the top of the page
+Quote Post
oomaster
post
Post #8





Grupa: Zarejestrowani
Postów: 305
Pomógł: 3
Dołączył: 4.08.2006
Skąd: GDA

Ostrzeżenie: (0%)
-----


Ale chodzi mi o błędy typu otwarcie pętli drugiej i w drugiej pętli zmienne musiałem poprawić (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) ale spoko poprawna wersja powinna tak wyglądać:]

  1. <?php
  2.  
  3. $results= mysql_query("SELECT * FROM balor_kat");
  4. while( $row = mysql_fetch_row($results) ){
  5. echo '<b>'.$row['nazwa'].'</b>';
  6. $sql = "SELECT * FROM balor_kat_1 WHERE id_kat = ".$row['id']." LIMIT 20";
  7. $results1 = mysql_query($sql);
  8. while( $rowe = mysql_fetch_row($results1) ) {
  9. echo $rowe['nazwa_1'].', ';
  10. }
  11. }
  12. ?>


A wyświetla błąd:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/balor/domains/balor.xvo.pl/public_html/index.php on line 25

aż 11 razy czyli znaczy ,że odczytuje rekordy ale błąd dalej jest w tym 2 zapytaniu

Panowie działa zamiast mysql_fetch_row zastosowałem mysql_fetch_array. A może mi ktoś jeszcze powiedzieć jaka jest różnica między tymi 2 elementami ?

Ten post edytował oomaster 1.08.2007, 13:46:13
Go to the top of the page
+Quote Post
nospor
post
Post #9





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Cytat
A wyświetla błąd:
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in /home/balor/domains/balor.xvo.pl/public_html/index.php on line 25

Dziś miałem z tobą przeprawę. TLumaczylem, krzyczalem, blagalem....
A ty dalej swoje. Juz nie pamietaz ze trzeba robic echo $sql? Juz nie pamietasz ze trzeba robic die(mysql_error())?
No to ja ci przypomne: zamykam i prosze na PW przeslac innemu moderatorowi (mnie zaraz nie bedzie) poprawny kod uwzględniajacy moje poprawki, a topic ci otworza. A jak już ci otworzą to napisz jakie bledy ci wyswietla jesli sam nie dojdziesz po nich co masz źle

ps: ja wiem gdzie masz blad ale za brak twojego rozwoju ci nie powiem (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

edit:
Cytat
Panowie działa zamiast mysql_fetch_row zastosowałem mysql_fetch_array.
spoźnielem sie (IMG:http://forum.php.pl/style_emoticons/default/sad.gif) ech....
Cytat
A może mi ktoś jeszcze powiedzieć jaka jest różnica między tymi 2 elementami
zajrzyj do manuala
Go to the top of the page
+Quote Post

Closed TopicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 18:47