Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Przyjazne linki a zapytanie SQL
115750
post 10.12.2014, 14:34:12
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
markonix
post 10.12.2014, 14:37:13
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 10.12.2014, 14:59:14
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 10.12.2014, 15:03:09
Post #4





Grupa: Moderatorzy
Postów: 36 557
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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
115750
post 10.12.2014, 15:10:15
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 10.12.2014, 15:17:17
Post #6





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




oczywiscie ze tak


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
115750
post 11.12.2014, 12:03:38
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 11.12.2014, 12:16:11
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.


--------------------
Overwatch24 - najbardziej zaawansowany Polski portal Overwatch od fanów dla fanów.

Fachowo.co

Behance.net/fachowo
Go to the top of the page
+Quote Post
115750
post 11.12.2014, 13:14:11
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 11.12.2014, 13:28:21
Post #10





Grupa: Moderatorzy
Postów: 36 557
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


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 22.06.2025 - 18:36