Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Przyjazne linki a zapytanie SQL
115750
post
Post #1





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Chciałbym moją stronę dostosować do używania przyjaznych linków.
W tabeli z artykułami mam pole tytuł. W nim jest krótki tytuł ze specjami i polskimi znakami np. "instrukcja montażu"
np.
id | tytul | tresc:
1 | instrukcja montażu | jakaś tam treść.

Przyjazny link wyglądałby mniej więcej tak: strona.pl/art/instrukcja-montazu.
Z takiego adresu dostanę zmienną $_GET['tytul'] o wartości 'instrukcja-montazu'.

Jak teraz skonstruować zapytanie, które znajdzie treść artykułu o tytule 'instrukcja-montazu' zamiast 'instrukcja montażu'.
Muszę się zatem pozbyć polskich znaków oraz spacji.

Chodzi o to, żeby skonstruować takie zapytanie, które dla tytułu 'instrukcja-montazu' zwróci treść rekordu o nr 1.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
markonix
post
Post #2





Grupa: Zarejestrowani
Postów: 2 707
Pomógł: 290
Dołączył: 16.12.2008
Skąd: Śląsk

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


Do bazy zapisuj instrukcja-montazu przy dodawaniu wpisu.
Musisz zapewnić bezwzględną unikalność dla tej kolumny (w przeciwieństwie do tytułu, który może gdzieś się różnić spacją).
Go to the top of the page
+Quote Post
115750
post
Post #3





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Cytat(markonix @ 10.12.2014, 16:37:13 ) *
Do bazy zapisuj instrukcja-montazu przy dodawaniu wpisu.

Wtedy musiałbym stworzyć dodatkowe pole, ponieważ pole tytuł jest używane do wyświetlania tytułu artykułu.
Go to the top of the page
+Quote Post
nospor
post
Post #4





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




A czemu poprostu nie dodasz do linku id arta?
strona.pl/art/instrukcja-montazu,13
I po ssprawie
Go to the top of the page
+Quote Post
115750
post
Post #5





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Cytat(nospor @ 10.12.2014, 17:03:09 ) *
A czemu poprostu nie dodasz do linku id arta?
strona.pl/art/instrukcja-montazu,13

Niby proste rozwiązanie, tylko czy z taką liczbą na końcu to nadal jest przyjazny link?
Go to the top of the page
+Quote Post
nospor
post
Post #6





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




oczywiscie ze tak
Go to the top of the page
+Quote Post
115750
post
Post #7





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Cytat(nospor @ 10.12.2014, 17:03:09 ) *
strona.pl/art/instrukcja-montazu,13

Zdecydowałem się na ten sposób. Zmodyfikowałem zatem plik .htaccess, żeby brał pod uwagę liczbę po przecinku jako parametr.
Generalnie to działa ale jedna rzecz mnie martwi.
Czy wpiszę adres strona.pl/art/instrukcja-montazu,13 czy strona.pl/art/blabla-montazu,13 to działa tak samo.
Dla tego drugiego przypadku powinnien być jednak zwrócony błąd 404.

Ten post edytował 115750 11.12.2014, 12:09:35
Go to the top of the page
+Quote Post
Forti
post
Post #8





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


ponieważ zapytanie robisz po id, czyli po tym numerze (np.13) a nie po title. Zrób dodatkową kolumnę w bazie dla slug. Co to za problem? To jest normalna praktyka i nie spowoduje żadnych problemów.
Go to the top of the page
+Quote Post
115750
post
Post #9





Grupa: Zarejestrowani
Postów: 117
Pomógł: 0
Dołączył: 7.06.2004
Skąd: Poznań

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


Cytat(Forti @ 11.12.2014, 14:16:11 ) *
ponieważ zapytanie robisz po id, czyli po tym numerze (np.13) a nie po title. Zrób dodatkową kolumnę w bazie dla slug. Co to za problem? To jest normalna praktyka i nie spowoduje żadnych problemów.

Tak, do tego właśnie już doszedłem, że jednak zrobię dodatkową kolumnę a nie numer w linku.
Go to the top of the page
+Quote Post
nospor
post
Post #10





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




Cytat
Czy wpiszę adres strona.pl/art/instrukcja-montazu,13 czy strona.pl/art/blabla-montazu,13 to działa tak samo.

To sie obchodzi tak, ze jak wczytasz dany rekord z id 13, to sprawdzasz czy jego tytul zgadza sie z tytulem w linku. Jak nie, to przekierowujesz z odpowiednim naglowkiem na poprawny link
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: 24.12.2025 - 11:58