![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Mam tabele forum i user. W tabeli forum mam mn. kolumnę autor, a w tabeli user mn. kolumny nick i user_id.
Teraz taki oto kod:
Pierwsze zapytanie działa bez problemu, chodzi mi natomiast o drugie w którym chcę wyciągnąć user_id kolesia którego nick widnieje w kolumnie autor. Próbowałem w tym celu porównać autora z nickiem, ale spełzło na niczym :/ Mam nadzieje, że nie zagmatwałem tego za bardzo i wiadomo o co chodzi.... Dobrze by też było jak by mi ktoś chociaż powiedział czy te 2 zapytania da się połączyć w jedno, chociaż najpierw wolałbym aby to w ogóle działało jak trzeba.... -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
moze daj strukture tych 2 tabel,
porownanie tresci jest wiekszym obciazeniem niz porownanie liczb, wiec lepiej jakbys szukal forum.autor_id = wiadomosc.autor_id nie wiem jaka masz strukture i jak masz baze zaprojektowana, ale cos tu nie gra, napewno da sie to uproscic i zoptymalizowac. -------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Ok, to są kody tworzące moją bazę:
-------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
autor to moze byc user_id ?
zmien typ na int jak juz to zrobisz to wyciagniecie wiadomosci robisz z uzyciem join
-------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Nie do końca się zrozumieliśmy. Pierwsze zapytanie służy oczywiście do określenia wiersza - z którego mają być pobierane różne dane - na podstawie id_artykulu. Np. Kiedy umieszczony, temat itd. Tak też jest pobierany autor postu, nie jest to jednak jego numer id a nick.
Może i dało się to jakoś lepiej zrobić ale nie wiedziałem jak więc jest jak jest.... Teraz chodzi o takie zapytanie aby porównać : forum.autor do user.nick czy są obydwa takie same, jak tak to bierzemy jego id (czyli user_id). I się wyświetla wtedy link poprawnie. Jak masz na to wszystko lepszy pomysł to daj znać. Chętnie to poprzerabiam.... PS. Przerobiłem więc twoje zapytanie na coś takiego:
Czy tak to powinno być? Mam też problem innego rodzaju. Gdy dopisuje te 3 linijki:
Wyswietla mi się w pewnym sensie błąd:
Wie ktoś może dlaczego? -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat Jak masz na to wszystko lepszy pomysł to daj znać. Chętnie to poprzerabiam.... juz ci napisalem jaki mam lepszy pomysl zapisuj ID autora a nie jego nick.
tu miala byc zmienna $zapytanie2 czyli
-------------------- aplikacje internetowe | Symfony
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 246 Pomógł: 19 Dołączył: 14.06.2007 Ostrzeżenie: (0%) ![]() ![]() |
Super. Działa tak jak chciałem. Wielkie dzięki za pomoc : )
Nie wiem czy zapisywanie id jest lepsze. Na pewno porównanie dwóch id by było szybsze, tylko że przy odczytywaniu autora wyświetlał by się jego id a nie nick, czyli musiałbym zrobić chyba jeszcze jedno zapytanie do bazy. Nie wyjdzie przypadkiem na to samo? Edit: Ok, nieco się pośpieszyłem z tym podziękowaniem. Mianowicie ciągle odczytuje mi user_id na wartość 1 - niezależnie od nicku. Zdaje się, ze w tym zapytaniu ciągle jednak coś nie gra. Wie ktoś co jest nie tak? Ten post edytował Max Damage 3.10.2007, 13:58:25 -------------------- "Wszyscy wiedzą, że czegoś nie da się zrobić, i przychodzi taki jeden, który nie wie, że się nie da, i on właśnie to robi." - Albert Einstein |
|
|
![]()
Post
#8
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
pozatym lepszym rozwiazaniem by bylo, jakbys w forum.autor trzymal jego id a nie nick. -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 1 385 Pomógł: 55 Dołączył: 1.03.2005 Skąd: śląsk Ostrzeżenie: (0%) ![]() ![]() |
a przy odczytwaniu poprostu robisz zlaczenie tabeli z autorami i w ten sposob, majac dane ID autora pobierasz jego nazwe.
-------------------- aplikacje internetowe | Symfony
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.05.2025 - 04:42 |