Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> problem ze sfromuowaniem zapytania
hmmm
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


mam problem ze sformuowaniem zapytania ...

mam dwie tabele:
1. kategorie
- id
- kategoria (np. 'niemiecki', 'programy')
2. download
- id
- kategoria (numery odpowiadajace dla kategorie.id)
- plik (nazwa pliku)
- nazwa (opis pliku)
- wielkosc

chcialbym teraz za pomoca najchetniej jednego zapytania, jezeli sie nie da, to dwoch (przypuszczam, ze petla w petli) wyswietlic to w takiej formie:

Kod
nazwa_kategorii1:
nazwa_pliku  |  opis_pliku  |  wielkosc_pliku
nazwa_kategorii2:
nazwa_pliku  |  opis_pliku  |  wielkosc_pliku
i tak dalej

czyli podzielic najpierw na kategorie i pod nazwa kazdej kategorii wyswietlic pliki nalezace do tej kategorii.
probowalem, ale nie wychodzi.
wszystko bylo dobrze, dopoki mialem jedna tabele - kategorie i zamiast wartosci liczbowych w kolumnie kategorie mialem nazwy kategorii.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
hmmm
post
Post #2





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


sorki, ze dopiero, ale probowalem jeszcze cos stworzyc i ostetecznie, zupelnie sie pogubilem.
mam tylko moje pierwsze rozwiazanie, reszta przepadla razem w probami, bo nie zapisuje tych, ktore i tak sa zle ...

na poczatku robilem to tak:
mialem wowczas jedna tabele - download i w niej byla kolumna kategoria, do ktorej wpisywalem wartosci liczbowe, np. 1,2,3,4,...

a potem mialem taki skrypcik php:
  1. <?php
  2. $kategorie = array(1 => 'matematyka', 'niemiecki', 'do pobrania', 'skrypty');
  3. // wartosci tablicy $kategorie
  4. // 1 => matematyka
  5. // 2 => niemiecki
  6. // 3 => do pobrania
  7. // 4 => skrypty
  8.  
  9. // pobierz wszystkie grupy plikow
  10. $polecenie2 = mysql_query(&#092;"SELECT kategoria FROM download GROUP BY kategoria\");
  11. while ($wynik2 = mysql_fetch_array($polecenie2, MYSQL_NUM)) {
  12. $download_grupy[] = $wynik2[0];
  13. }
  14.  
  15. // wyswietl wszystkie grupy plikow
  16. foreach ($download_grupy as $download_grupa) {
  17.  
  18. ?>
  19. <table class=\"download\" cellspacing=\"0\" cellpadding=\"0\">
  20. <tr>
  21. <td class=\"td2\" colspan=\"2\">
  22. <?=$kategorie[$download_grupa] . &#092;"n\";?>
  23. </td>
  24. </tr>
  25. <?php
  26.  
  27. // pobierz wszystkie pliki dla danej grupy plikow
  28. // wyswietl wszystkie pliki dla danej grupy plikow
  29. $polecenie3 = mysql_query(&#092;"SELECT plik, nazwa, wielkosc FROM download WHERE kategoria = '\" . $download_grupa . \"'\");
  30. $download_numer = 1;
  31. while ($wynik3 = mysql_fetch_array($polecenie3, MYSQL_NUM)) {
  32. ?>
  33. <tr>
  34. <td class=\"td1\">
  35. <?=$download_numer++;?>.
  36. </td>
  37. <td class=\"td2\">
  38. <a href=\"download/<?=$wynik3[0];?>\"><?=$wynik3[1];?> <span class=\"szary\">[<?=$wynik3[2];?>KB]</span></a>
  39. </td>
  40. </tr>
  41. <?php
  42. }
  43. mysql_free_result($polecenie3);
  44.  
  45. echo &#092;"t\" . '</table>' . \"n\";
  46. ?>
prymitywnie - wiem.

chce to zrobic lepiej, ale nie moge sobie poradzic ...
Go to the top of the page
+Quote Post

Posty w temacie


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: 3.10.2025 - 03:43