![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Witam.
Chcę zrobić bazę artykułów z newsami Wygląd bazy danych jest taki: ID TYTUŁ NEWSA URL TRESC DATA Załóżmy tytuł nosi nazwe z polskimi znakami "przykładowy tytuł" I w bazie wygląda to tak: ID TYTUŁ NEWSA URL TRESC DATA 1 PRZYKŁADOWY TYTUŁ TREŚĆ ITD 4.04.2020 jak zrobić, aby tytuł newsa wrzucił w tabele URL o takim wyglądzie: przykladowy-tytul i wtedy zamiast wyświetlania przez ID wyświetlałbym tytuł za pomocą %LIKE% przykladowy-tytul czyli na zasadzie URl wyświetlałby mi się post w jaki sposób to zrobić? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
To sie nazywa Slug
Możesz zrobić tym np: http://stackoverflow.com/a/2955878 Wrzucasz do BD. Przy wejściu sprawdzasz string, szukasz w BD i pobierasz odpowiedni content. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
super, dzięki o to mi chodziło
![]() Jeszcze mam jeden problem. chodzi o tagi... Dodaje poprawnie tagi przykład: ola śćź, karolina ęąć. Przy dodawaniu do tablicy 'tagi' dodaje te same tagi do tablicy 'tagi_url' gdzie zamienia je na taką postać: ola-scz, karolina-eac, itd itp W jaki sposób wyświetlić te tagi a później w jaki sposób zrobić, jak ktoś kliknie na link np. tag-ola-scz.html wyszuka za pomocą %LIKE% wpisy o zawartości ola-scz ? baza wygląda tak: ![]() Ten post edytował qoqo 5.03.2015, 13:43:29 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 13 Dołączył: 17.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Kod SELECT * FROM `wpisy` WHERE `tagi_url` LIKE '%ola-scz%' Natomiast ja bym to zrobił inaczej. Nie lepiej stworzyć osobno tabelę z tagami i powiązanie tag-wpis, gdzie po prostu w osobnej tabeli trzymałbyś id wpisu i id powiązanych z nim tagów? -------------------- fklar.pl
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
w jaki sposób to zrobić?
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 13 Dołączył: 17.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
Uproszczona struktura:
Wpisy id | tytuł | slug | treść | data Tagi id | nazwa | slug Tagi wpisów id | id wpisu | id tagu Wtedy jak masz np. wpis "Testowy" o id 1 i tagi A (id 8) i B (id 20) to w tabeli z tą relacją będziesz miał: id | id wpisu | id tagu 1 | 1 | 8 1 | 1 | 20 Będziesz miał większą przejrzystość w bazie. Wtedy mając id tagu pobierzesz sobie id wszystkich wpisów z tym tagiem i je sobie wyświetlisz. -------------------- fklar.pl
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
a jak zrobić aby we wpisie tagi się wyświetlały?
załóżmy otaguję post: tag-1, tag-2, tag-3 to chcę aby przy wejściu w ten wpis wyświetlały się te tagi i adres url do tych tagów (to nie problem) ale jak tu zrobić? ja nie pobieram treści wpisu poprzez ID tylko poprzez URL wpisu %LIKE% (widać w bazie) Ten post edytował qoqo 5.03.2015, 16:46:05 |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 13 Dołączył: 17.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
1. Tak samo znajdziesz sobie po id wpisu wszystkie tagi.
2. Nic nie szkodzi, żeby znaleźć id tagu znając slug obecny w adresie. Wiem, że to może skomplikowanie wygląda, ale tak właśnie się robi. -------------------- fklar.pl
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
ok rozumie, mam nadzieje, że dam radę.
jedyne pytanie: jak zrobić na zasadzie ID wpisu, skoro dodają się równocześnie wpis i tagi jeszcze nie jest znany ID wpisu, wygenerować jakiś unikalny klucz bez powtórzeń? Ten post edytował qoqo 5.03.2015, 21:16:12 |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 61 Pomógł: 13 Dołączył: 17.12.2011 Ostrzeżenie: (0%) ![]() ![]() |
ID masz w bazie danych jako główny klucz, który jest przyporządkowywany automatycznie do rekordu. Funkcja mysqli_insert_id zwróci Ci ostatnio dodane ID w tabeli.
-------------------- fklar.pl
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Wpisy
id | tytuł | slug | treść | data Tagi id | nazwa | slug Tagi wpisów id | id wpisu | id tagu Więc chodzi mi o to: Dodaję wpis do wpisy, po dodaniu tworzy ID unikalny np. 100, 120 itd - rozumiem, jednak przy jednym zapytaniu gdzie leci treść do wpisów, jak zrobić aby w tabeli tagi wpisów pojawiły się ID wpisu i ID tagów? troche jestem ciemny w tym ![]() |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Normalnie, dodajesz tagi - również masz ich ID, zbierasz to do kupy i wrzucasz do "tagi wpisów"
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Mam:
Zrobiłem jeszcze tagi bez slug'a - wrzuca je to bazy poprawnie. Problem pojawia się w ostatniej tabeli tagi_wpisow_test gdzie mam: ID, ID_wpisu i id_tagu dodaje ttylko jeden rekord :1, IDWPISU: 140, ID TAGU: 10 czyli pierwszy wygenerowany tag mi jedynie dodaje, reszty nie... jak zrobić, aby wrzuciło: ID, ID WPISU, ID TAGU: 1, 100, ID1 2, 100, ID2 3, 100, ID3 Nie wiem czy dobrze kombinuję? co jest źle? Ten post edytował qoqo 6.03.2015, 13:17:49 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
- Nie potrzebujesz id w tagi_wpisow_test
- załóż indeks PK na (id_tagu, id_wpisu)
|
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
zamień fetch_field na fetch_row
|
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#18
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
slug dodajesz do 'tagi_test' razem z normalnym tagiem.
|
|
|
![]()
Post
#19
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
ok jeszcze jedno: w jaki sposób pobrać to we wpisie?
Chodzi mi o to, że mam pobrane wszystkie pola wpisu : między innymi ID i teraz wyszukuję z tabeli tagi wpisów za pomocą LIKE ID z artykułu, przypisuje pobrany IDtagu i na tej podstawie wyświetlam z tabeli tagi_test we wpisach? Ten post edytował qoqo 6.03.2015, 15:58:48 |
|
|
![]()
Post
#20
|
|
![]() Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 18:46 |