![]() |
![]() |
![]()
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 (IMG:style_emoticons/default/smile.gif)
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: (IMG:http://oi57.tinypic.com/m8193o.jpg) 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? |
|
|
![]()
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. |
|
|
![]()
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. |
|
|
![]()
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.
|
|
|
![]()
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 (IMG:style_emoticons/default/biggrin.gif) albo mózg od myślenia przegrzany |
|
|
![]()
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%) ![]() ![]() |
|
|
|
![]()
Post
#21
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
co oznacza to "tw." w zapytaniu?
|
|
|
![]()
Post
#22
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
alias tabeli
|
|
|
![]()
Post
#23
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Zoribłem tak:
jednak przy wyświetlaniu pobiera tylko jeden tag, co źle robie? |
|
|
![]()
Post
#24
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Nie uważasz że Twoje zapytanie jest "troszkę" inne od mojego?
|
|
|
![]()
Post
#25
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
nie troszkę tylko jest, kombinuje na różne sposoby - tam mi wyskakiwało, że tw nie jest tabelą czy coś takiego :/
|
|
|
![]()
Post
#26
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pokaż lepiej jaki błąd miałeś z mojego zapytania bo to co pokazałeś się kupy nie trzyma.
|
|
|
![]()
Post
#27
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Nie można uruchomić zapytania: Nieznana kolumna 'tw.wpis_id' w where clause
|
|
|
![]()
Post
#28
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
to zmieć na: t.id
lub pokaż strukturę tabel |
|
|
![]()
Post
#29
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
tak wygląda w bazie wszystko:
(IMG:http://zapodaj.net/images/bd251b54e9c6b.jpg) po zmianie jest błąd: Nie można uruchomić zapytania: Something is wrong in your syntax obok '.id JOIN tagi_test t ON(t.id = tw.tag_id) WHERE tw.wpis_id=223' w linii 1 Ten post edytował qoqo 6.03.2015, 18:54:35 |
|
|
![]()
Post
#30
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
nie tu, w WHERE zmień
Ten post edytował Pyton_000 6.03.2015, 18:57:05 |
|
|
![]()
Post
#31
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#32
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Pokażesz w końcu struktury tabel ? Poza tym czytaj co do Ciebie piszą. Skoro nie ma takiej kolumny to zamień łaskawie na to co masz.
Ten post edytował Pyton_000 6.03.2015, 19:27:34 |
|
|
![]()
Post
#33
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
Tables_in_biznes2_gen
tagi_test tagi_wpisow_test wpisy_test tagi_test:
tagi_wpisow_test:
faktycznie - przepraszam, zamotałem się, poprawiłem - zwraca zero wierszy |
|
|
![]()
Post
#34
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Czyli jak, pokaż to zapytanie co poprawiłeś.
|
|
|
![]()
Post
#35
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#36
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Ja już zgłupiałem. To Co Ty chcesz osiągnąć w końcu?
|
|
|
![]()
Post
#37
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
zrobiłem to w ten sposób:
Mam pytanie, jak teraz klikając na tag pobrać artykuły zawierające ID tagu? nazwę slug-tagu pobieram
i teraz slug tagu z get z tabeli: tagi_test -> pobrać ID tego tagu na podstawie tego slug'u -> z tabeli: tagi_wpisow_test pobrać ID artykułu który został przypisany do id tego tagu Czy to jest dobre rozwiązanie? czy sa prostrze metody na pobranie? |
|
|
![]()
Post
#38
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) ![]() ![]() |
Spróbuj coś na zasadzie:
To chyba powinno Ci zwrócić kilka wierszy, ale pewien nie jestem (IMG:style_emoticons/default/smile.gif) Jeśli nie to możesz pobrać ID tagu podzapytaniem :
|
|
|
![]()
Post
#39
|
|
Grupa: Zarejestrowani Postów: 53 Pomógł: 0 Dołączył: 5.06.2014 Ostrzeżenie: (0%) ![]() ![]() |
super (IMG:style_emoticons/default/smile.gif) działa (IMG:style_emoticons/default/smile.gif) dziękuję bardzo (IMG:style_emoticons/default/smile.gif)
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 24.08.2025 - 12:43 |