[SQL][PHP]Problem z przyjaznymi linkami, Linki po Id i title - problem |
[SQL][PHP]Problem z przyjaznymi linkami, Linki po Id i title - problem |
16.05.2016, 09:18:26
Post
#1
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) |
Witajcie drodzy koledzy, jako że raczkuje w temacie php mam problem ,z którym nie wiem jak sobie poradzić.
Aktualnie moje linki wyglądają następująco www.jakasstrona.pl/oferta/490.html ,a chciałbym aby wyglądały www.jakasstrona.pl/oferta/490/tytul-strony.html Stworzyłem w bazie danych odpowiedni wiersz o nazwie SLUG w tabeli offer ,który przetwarza mi tytuł z polskimi znakami i spacjami na przyjazny link czyli np: kula z zębem zamienia na :kula-z-zebem. Mój plik index wygląda tak:
Plik odpowiedzialny za wyświetlanie oferty czyli podstrona_oferta.php wygląda tak:
I teraz jeśli zmienie ID na SLUG czyli:
Wyświetla mi się tekst tej strony , ale nie mam zdjęć, i tutaj mam problem. Linijka odpowiedzialna za zdjęcia to:
Ogólnie tabela offer_foto składa się z: ze swojego ID, numeru oferty ( czyli OFERTA) i SRC czyli scieżki . - sprawdza które oferty maja taką samą cyfrę i wyświetlają ją w ofercie. Nie wiem co zmienić w tym fragmencie kodu odpowiedzialnym za zdjęcia aby się pokazywały, ewentualnie co dodać . Proszę o pomoc |
|
|
16.05.2016, 14:24:05
Post
#2
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) |
Źle do tego podchodzisz
1. Robisz zapytania w pętli 2. Zawsze o ile to możliwe przeszukuj bazę po ID nie żadnym SLUGu 3. Staraj się wrzucać sformatowany kod, bo ten słabo się czyta Pokaż struktury tabel, które wykorzystujesz na tej stronie, to ogarniemy to jednym zapytaniem |
|
|
16.05.2016, 15:58:38
Post
#3
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) |
Tak to wygląda
DESCRIBE offer_foto; Field Type Null Key Default Extra ID int(3) NO PRI NULL auto_increment OFERTA nt(3) NO NULL SRC varchar(255) NO NULL POS int(3) NO 999 DESCRIBE offer: Field Type Null Key Deafult Extra ID int(255) NO PRI NULL auto_increment MAIN_FOTO int(4) NO NULL PROMUJ tinyint(1) NO NULL START tinyint(1) NO NULL START1 tinyint(1) NO NULL START2 tinyint(1) NO NULL START3 tinyint(1) NO NULL START4 tinyint(1) NO NULL TITLE varchar(50) NO NULL SLUG varchar(255) NO NULL TITLESEO varchar(300) NO NULL DESCRIPTION varchar(300) NO NULL TAGS varchar(300) NO NULL TEXT text NO NULL KAT varchar(50) NO NULL |
|
|
16.05.2016, 18:25:16
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 958 Pomógł: 574 Dołączył: 23.09.2008 Skąd: wiesz, że tu jestem? Ostrzeżenie: (0%) |
Jeszcze kilka uwag
1. Staraj się unikać takiego kodu mysql_fetch_array(mysql_query()), bo jeżeli mysql_query() nic nie zwróci (zwróci FALSE), php rzuci błędem 2. mysql_* jest już przestarzałe pomyśl nad przejściem na mysqli_* lub PDO 3. Każdą zmienną pochodzącą od użytkownika escape'uj np. za pomocą mysql_real_escape_string()
W zapytaniu podmień * na nazwy kolumn , ponieważ kolumnę ID masz w dwóch tabelach, i mogą pojawić się problemy - sprawdź na googlu jak tworzyć aliasy nazw kolumn Ten post edytował CuteOne 16.05.2016, 18:25:49 |
|
|
17.05.2016, 07:19:12
Post
#5
|
|
Grupa: Zarejestrowani Postów: 32 Pomógł: 0 Dołączył: 27.06.2013 Ostrzeżenie: (0%) |
Dzięki zaraz zabieram się za lekturę i poprawki
|
|
|
Wersja Lo-Fi | Aktualny czas: 24.04.2024 - 15:09 |