![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele
News id nazwa tagi 1 Programowanie 1,3 oraz Tagi id nazwa 1 PHP 2 C 3 Java W jaki sposób wyciągnąć jakie tagi ma News (nazwy tagów)? |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 4 Dołączył: 25.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
Tagi najpierw dzielisz w PHP za pomocą funkcji explode, a następnie w zapytaniu mysql używasz polecenia JOIN.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Czyli coś takiego?
SELECT Tagi.nazwa FROM Tagi, News WHERE News.tagi IN ( $tagi[0], $tagi[1] ); |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 4 340 Pomógł: 542 Dołączył: 15.01.2006 Skąd: Olsztyn/Warszawa Ostrzeżenie: (0%) ![]() ![]() |
*pisane z palca. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
Chyba to zapytanie jest złe. Wyświetla mi nazwy WSZYSTKICH tagów a nie tagów konkretnego newsa (nawet jak w phpmyadmin dam
SELECT Tagi.nazwa FROM Tagi, News WHERE News.tagi IN (1, 3) ) |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 84 Pomógł: 4 Dołączył: 25.03.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 14 Pomógł: 0 Dołączył: 21.11.2011 Ostrzeżenie: (0%) ![]() ![]() |
A w jaki sposób mogę kolumnę tagi z News przenieść do nowej tabeli tagi_news tak żeby mieć tam id_newsa id_tagu. Można to jakoś zautomatyzować? Mógłbym prosić o jakieś ogólne "kroki" ?
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 79 Dołączył: 6.04.2010 Skąd: Ostrów Wielkopolski Ostrzeżenie: (0%) ![]() ![]() |
A w jaki sposób mogę kolumnę tagi z News przenieść do nowej tabeli tagi_news tak żeby mieć tam id_newsa id_tagu. Można to jakoś zautomatyzować? Mógłbym prosić o jakieś ogólne "kroki" ?
Z tym, że w Twojej tabeli "News" kolumna "tagi" przechowuje kilka tagów a najlepiej by było gdyby nowa tabela "tagi_news" przechowywała tylko jeden identyfikator tagu. Czyli, że trzeba by było zastosować regex na kolumnie "tagi", czego samym SQLem nie zrobisz. Piszę "samym" bo można zastosować jakąś bibliotekę do obsługi wyrażeń regularnych w MySQLu, np. LIB_MYSQLUDF_PREG. To jednak wymaga nieco większej niż podstawowa znajomości SQLa. Żeby osiągnąć zamierzony efekt (czyli jeden id newsa - jeden id tagu) bez zaawansowanej wiedzy, musiałbyś wykorzystać PHP.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 07:35 |