Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Wyświetlanie kategori i podkategorii w 3 kolumnach
ghastblood
post
Post #1





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


Witam,
w jaki sposób najlepiej wyświetlić kategorie wraz z podkategoriami w 3 kolumnach obecnie mam kod wyświetlający wszystko w jednym ciągu.
  1. $result = get_query("SELECT * FROM kategorie WHERE kat_rodzic = '0'");
  2. while ($data = get_array($result)) {
  3. echo "<b>".$data['kat_nazwa']."</b>";
  4. $result1 = get_query("SELECT * FROM kategorie WHERE kat_rodzic='".$data['kat_id']."' ");
  5. while ($data1 = get_array($result1)) {
  6. echo'<li>-'.$data1['kat_nazwa'] . '</li> ' ;
  7. }
  8. }


get_query = mysql_query
get_array = mysql_fetch_assoc

Ten post edytował ghastblood 7.02.2011, 19:31:47
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
ylk
post
Post #2





Grupa: Zarejestrowani
Postów: 194
Pomógł: 26
Dołączył: 9.01.2011
Skąd: /dev/null

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


Naucz się poprawnie formatować kod.

Zainteresuj się funkcją mysql_num_rows().
Zwraca ona ilość wierszy w zapytaniu. Dzięki temu będziesz wiedział ile jest elementów, podzielisz sobie na 3 i zrobisz 3 kolumny.
Go to the top of the page
+Quote Post
ghastblood
post
Post #3





Grupa: Zarejestrowani
Postów: 360
Pomógł: 12
Dołączył: 17.09.2009
Skąd: Warszawa

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


w jaki sposób mam to podzielić na 3?

proszę o pomoc dalej sobie nie poradziłem z tym problemem

Udało mi się znaleźć taki kod na forum

  1. <?php
  2.  
  3. $wynik = mysql_query('select * from kategorie order by nazwa');
  4. echo '<table>';
  5. $i = 0;
  6. while ($row = mysql_fetch_assoc($wynik)) {
  7. if ($i == 3)
  8. {
  9. echo '</tr>';
  10. $i = 0;
  11. }
  12. if ($i == 0)
  13. echo '<tr>';
  14. $i++;
  15. echo '<td>ala</td>';
  16. }
  17. if ($i != 0)
  18. echo '</tr>';
  19.  
  20. echo '</table>';
  21.  
  22. ?>


tylko jak dodać do niego jeszcze subkategorie pod kategoriami

dodałem coś takiego
  1. $wynik = mysql_query('select * from fusion_classfield WHERE classfield_parent = "0"');
  2. echo '<table>';
  3. $i = 0;
  4. while ($row = mysql_fetch_assoc($wynik)) {
  5. $wynik1 = mysql_query('select * from fusion_classfield WHERE classfield_parent = "'.$row['classfield_id'].'"');
  6. while ($row1 = mysql_fetch_assoc($wynik1)) {
  7. if ($i == 3)
  8. {
  9. echo '</tr>';
  10. $i = 0;
  11. }
  12. if ($i == 0)
  13. echo '<tr>';
  14. $i++;
  15. echo '<td>'.$row['classfield_name'].'</td></tr>';
  16. echo '<tr><td><li>'.$row1['classfield_name'].'</li>';
  17. }
  18. }
  19. if ($i != 0)
  20. echo '</tr>';
  21.  
  22. echo '</table>';


ale to wyświetla kategoria > subkategoria kategoria > subkategoria a powinno być kategoria > subkategoria, subkategoria

Czy naprawdę nikt nie może mi pomóc
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:11