![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Witam mam takie tabele 2:
Chciałbym teraz wyciągnąć i wyświetlić na stronie tytul, tresc, newsa o nid=1 z tabeli 'newsy' i login autora tego newsa który jest w tabeli 'autorzy', jak powinno wyglądać najbardziej optymalne zapytanie mysql żeby to pobrać? Ten post edytował @rtur 5.05.2011, 17:41:13 -------------------- Artur
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 118 Pomógł: 2 Dołączył: 25.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
zrób w tabeli newsy rekord nick
do niego zapisuj nick z sesji pozniej wyświetl rekord z bazy |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Pisane z palca, ale powinno styknąć. Gdybyś miał zgodne nazwy kolumn z id, byłoby jeszcze prościej. -------------------- rm -rf /*
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Bags_Bunny, nie zadziała - zly styl joinów
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Nie mam pojęcia co to jest styl JOINów, ale u mnie działa.
--edit-- Tak sobie teraz jeszcze spojrzałem na zapytania i po jaką tandetę autor_id jest typu varchar? Ten post edytował Bags_Bunny 5.05.2011, 18:19:40 -------------------- rm -rf /*
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 782 Pomógł: 153 Dołączył: 21.07.2010 Ostrzeżenie: (0%) ![]() ![]() |
Kolumny są jednoznaczne - mogłoby być ale niekoniecznie musi.
-------------------- Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]! |
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
chodzi mi o to, czy nie powinno być: Skoro nie wiesz jak powinno być, to dlaczego piszesz, że nie zadziała? Jeśli kolumny są unikalne, to nie trzeba podawać nazwy tabeli, bo może być rozpoznana. Preferuję minimalizm. Ten post edytował Bags_Bunny 5.05.2011, 18:23:12 -------------------- rm -rf /*
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
Sorry, zawsze mi sie wydawało, że powinna być podana nazwa tabeli - ja preferuję całkowite wypisanie, nie trzeba się pote rozwlekać przy poprawkach
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
A ja nie używam ON
![]() -------------------- rm -rf /*
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
zrób w tabeli newsy rekord nick do niego zapisuj nick z sesji pozniej wyświetl rekord z bazy To nie byłoby złe, już tak miałem przemyślane, dodałem kolumnę login i wpisywałem w niej login autora, ten z bazy autorzy ale co jak zmienię użytkownikowi login w bazie autorzy? -------------------- Artur
|
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
co jak zmienię użytkownikowi login w bazie autorzy? I właśnie z tego powodu tamto rozwiązanie jest złe. Redundancja, normalizacja. Warto zapoznać się z tym pojęciami. -------------------- rm -rf /*
|
|
|
![]()
Post
#13
|
|
![]() Grupa: Zarejestrowani Postów: 690 Pomógł: 92 Dołączył: 6.02.2011 Ostrzeżenie: (0%) ![]() ![]() |
zrób w tabeli newsy rekord nick do niego zapisuj nick z sesji pozniej wyświetl rekord z bazy Jedno z najgłupszych rzeczy, jakie można zrobić - na takich danych operuje się zwykle na id, a przy pomocy odpowiedniego zapytania pobiera się login - w końcu jest on zwykle zmienny ![]() Tak, jak używa się zwykle id w sesji, nie loginów |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 3 Dołączył: 23.02.2006 Ostrzeżenie: (0%) ![]() ![]() |
Pisane z palca, ale powinno styknąć. Gdybyś miał zgodne nazwy kolumn z id, byłoby jeszcze prościej. Dzięki Załóżmy że są zgodne, jak wtedy zrobić to prościej? Twój kod wyciąga wszystkie kolumny z wiersza o nid=1, w tabeli newsy jak dobrze rozumiem, aby wyciągnąć wybrane kolumny powinienem po select dać ich nazwy zamiast '*', czy on też wyciąga wszystkie kolumny z konkretnego wiersza tabeli autorzy? bo mi zależy tylko na kolumnie 'login' z tabeli autorzy, nie potrzebne mi wszystkie. -------------------- Artur
|
|
|
![]()
Post
#15
|
|
![]() Grupa: Zarejestrowani Postów: 262 Pomógł: 39 Dołączył: 12.04.2004 Ostrzeżenie: (0%) ![]() ![]() |
Załóżmy że są zgodne, jak wtedy zrobić to prościej?
Twój kod wyciąga wszystkie kolumny z wiersza o nid=1, w tabeli newsy jak dobrze rozumiem, aby wyciągnąć wybrane kolumny powinienem po select dać ich nazwy zamiast '*', czy on też wyciąga wszystkie kolumny z konkretnego wiersza tabeli autorzy? bo mi zależy tylko na kolumnie 'login' z tabeli autorzy, nie potrzebne mi wszystkie. Tak, możesz np. napisać newsy.*, login albo po prostu wylistować wszystko, co potrzebujesz. Ten post edytował Bags_Bunny 5.05.2011, 19:37:48 -------------------- rm -rf /*
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 03:31 |