![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Mam problem z napisaniem zapytania.
Przykładowo link wygląda tak - blablabla.pl/?wpisy&d=13 Gdzie &d = ID nazwy działu. Przy podaniu odpowiedniego $d ma wyświetlić wpisy, które mają nazwę id $d. Wyjaśnię prościej: Tabela 'dzialy' -> ID (np. 10), NAZWA (np. marzec). Tabela 'blog' -> ID (np. 1), TYTUL (np. czesc), DZIAL (np. marzec). $d musi być ID działu i ma wyświetlić się w rezultacie wpis z tabeli blog gdzie dzial=marzec (wyciagniety po id z $d i nazwa). Za nic nie mogę napisać dobrego zapytania
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Wytłumacze to skryptami dla łatwiejszej interpretacji.
Na tym drugim kodzie zabawa się kończy. Baza danych tak jak w pierwszym poście. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
a probowales mojego rozwiazania ?
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 4 291 Pomógł: 829 Dołączył: 14.02.2009 Skąd: łódź Ostrzeżenie: (0%) ![]() ![]() |
Jeśli pod a i b mam podstawiać własne wartości to tak i kod jest 2 posty wyżej.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 695 Pomógł: 65 Dołączył: 27.07.2009 Skąd: Y Ostrzeżenie: (0%) ![]() ![]() |
po pierwsze $_GET['d'] a nie $_GET[d] po 2 skoro uzywasz inner joina nadawaj nazwa tabel oraz pol aliasy z ktorych pochodza...
po 3 jesli dalej nie bedzie dzialac to wyswietlaj sobie zapytanie i tak analizuj az dojdziesz w czym lezy problem ![]() |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%) ![]() ![]() |
W tabeli blog powinieneś mieć numeryczny id działu zamiast tekstowej nazwy. Bo jeśli zechce ci się zmienić nazwę działu, to będziesz robił update dla wszystkich wpisów z tego działu? Poza tym po co te same informacje przechowywać w dwóch tabelach? Int zajmuje 4 bajty, porównanie WHERE blog.id_dzialu=dzialy.id jest o wiele szybsze niż WHERE blog.nazwa_dzialu=dzialy.nazwa, łączenie tabel po indeksie numerycznym o wiele szybsze niż po tekstowym, zapytania są prostsze.
Wtedy mając id działu z formularza nazwę tego działu masz prostym zapytaniem z tabeli dzialy, a wpisy dostajesz przez równie proste zapytanie bez potrzeby łaczenia tabel:
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 04:47 |