Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MySQL] Wyświetlenie nazw kategorii po ID
Kshyhoo
post
Post #1





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Borykam się z błahym zapewne problemem. Mianowicie, pobieram z bazy dane poniższym zapytaniem:
  1. SELECT *
  2. FROM tutoriale
  3. LEFT JOIN kategorie
  4. ON (kategorie.kat_id=tutoriale.kat_kategoria)
  5. LIMIT $start, $na_strone

Wyświetlam te dane - ładnie dołącza mi w phpMyAdmin kolumnę kat_kategoria, ale chciałbym również wyświetlić kategorię słownie na stronie. Struktura bazy:
Kod
tutoriale:                         kategorie:
+--------+-----+------------+      +--------+---------------+
| tut_id | ... | tut_kat_id |      | kat_id | kat_kategoria |
+--------+-----+------------+      +--------+---------------+
|        |     |            |      |        |               |

gdzie tutoriale.tut_kat_id powiązany z kategorie.kat_id w relacji jeden do wielu

Ten post edytował Kshyhoo 28.01.2010, 18:23:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
sadistic_son
post
Post #2





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


  1. SELECT kategorie.kat_kategoria FROM kategorie , tutoriale WHERE tutoriale.tut_kat_id = kategorie.kat_id
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #3





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A dane?
  1. $dane['kat_kategoria']

(IMG:style_emoticons/default/questionmark.gif) To nie działa...
Go to the top of the page
+Quote Post
sadistic_son
post
Post #4





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Jeśli puścisz to w pętli while:
  1. $query="SELECT kategorie.kat_kategoria FROM kategorie , tutoriale WHERE tutoriale.tut_kat_id = kategorie.kat_id";
  2. $result=mysql_query($query);
  3. $num=mysql_num_rows($result);
  4. if($num>0){
  5. while($row=mysql_fetch_array($result,MYSQL_NUM)){
  6. echo $row[0];
  7. }
  8. }

To dane wyświetlasz jako $row[x] czyli w tym wypadku jako $row[0];
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #5





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




Może źle napisałem. Tym zapytaniem uzyskałem tylko same nazwy kategorii a ja chcę wyciągnąć wszystkie dane z tabeli tutoriale + dodatkowo nazwy kategorii z tabeli kategorie...
Go to the top of the page
+Quote Post
sadistic_son
post
Post #6





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


No to kolego zmodyfikuj zapytanie o te kolumny ktore maja sie pojawiac.
  1. $query="SELECT tutoriale.tut_id , tutoriale.reszta_kolumn , kategorie.kat_id , kategorie.inne_dane , kategorie.kat_kategoria FROM kategorie , tutoriale WHERE tutoriale.tut_kat_id = kategorie.kat_id";
Potem wyswietlasz je kolejno jako $row[0] <-- tutoriale.tut_id, $row[1] <-- tutoriale.reszta_danych, $row[2] <--kategorie.hat_id itp. itd.
No troche wlasnej inwencji!

Ten post edytował sadistic_son 28.01.2010, 19:05:55
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #7





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




A gdybym chciał użyć funkcję SQL_CALC_FOUND_ROWS:
  1. SELECT SQL_CALC_FOUND_ROWS * FROM tutoriale LIMIT $start, $na_strone



EDIT: Taka kombinacja działa, dzięki na naprowadzenie...
  1. $wynik = mysql_query("
  2. SELECT SQL_CALC_FOUND_ROWS *
  3. FROM tutoriale
  4. LEFT JOIN kategorie
  5. ON (kat_id = tut_kat_id)
  6. LIMIT $start, $na_strone
  7. ");
  8. $rekordow = mysql_result(mysql_query("SELECT FOUND_ROWS()"),0);
  9.  
  10. $stron = ceil($rekordow/$na_strone);
  11. if ($s>$stron and $rekordow>0) {
  12. $start = ($stron-1)*$na_strone;
  13. $wynik = mysql_query("
  14. SELECT *
  15. FROM tutoriale
  16. LEFT JOIN kategorie
  17. ON (kat_id = tut_kat_id)
  18. LIMIT $start, $na_strone
  19. ");
  20. }


Ten post edytował Kshyhoo 28.01.2010, 20:11:54
Go to the top of the page
+Quote Post
sadistic_son
post
Post #8





Grupa: Zarejestrowani
Postów: 1 495
Pomógł: 245
Dołączył: 1.07.2009
Skąd: Bydgoszcz

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


Nie wiem. Temat dotyczył czego innego. Pomogły moje poprzednie posty?
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 - 15:17