![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
Pomoże mi ktoś zbudować zapytanie do bazdy danych mysql? (używam do tego JOIN ale nie chce wyjść) (IMG:style_emoticons/default/sad.gif)
tabela1: id | name | 1 sss 2 lllll tabela2: tab_id | name | code | 1 ppp 1 2 ffff 0 IF ID = TAB_ID TO WHERE CODE 1 wtedy pokaż name z tabela2 a jeżeli się id nie równa z tab_id to pokaż name z tabeli1 prosze o pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 984 Pomógł: 41 Dołączył: 16.03.2002 Skąd: Płock Ostrzeżenie: (0%) ![]() ![]() |
nic nie rozumiem z Twojego pytania, więc zgaduję:
select t1.name, t2.name from tabela1 t1 inner join tabela2 t2 on t1.id=t2.tab_id where t2.code=1 co to ma z PHP wspólnego? Ten post edytował em1X 12.03.2012, 17:43:54 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
tabela: "module"
(IMG:http://www.wrzuc.net.pl/images/module.png) tabela "lang" (IMG:http://www.wrzuc.net.pl/images/lang.png) I chcę wyświetlić tłumaczenie pola name. Tylko jak nie ma tłumaczenia dla np. id: 2 (module) to wyświetl name bez tłumaczenia coś takiego: Home Site Kontakt Zdjecia napisałem sobie coś takiego ale wyświetla mi tylko HOME SITE
? wie ktoś? (IMG:style_emoticons/default/sad.gif) Ten post edytował seba199696 12.03.2012, 20:52:33 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
nie działa (IMG:style_emoticons/default/sad.gif) dokładnie tak: Zakładając ze w bazie danych nie zawsze bedzie tlumaczenie dla każdego name w jezyku uzywanym w tym momencie przez uzytkownika, jak moznaby sformulowac zapytanie do SQLa tak aby przy wyciąganiu name dla danej kategorii wyciągało wszystkie name w wersji jezykowej uzytkownika lub w wersji jezyka domyslnego jezeli poprzednie sie nie powiodlo?
Ten post edytował seba199696 12.03.2012, 21:43:21 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
więc wykonaj
SELECT * FROM tabela1,tabela2 ,bez korzystania z JOIN ,za to korzystając z IF |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
wolałbym w jednym zapytaniu nie używając if
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 702 Pomógł: 65 Dołączył: 16.03.2009 Ostrzeżenie: (0%) ![]() ![]() |
pisząc IF miałem na myśli Mysql'owy IF
http://dev.mysql.com/doc/refman/5.0/en/if-statement.html Na przyszłość mógłbyś wykazać więcej chęci do wyszukiwania informacji samemu , nie licz że ktoś Ci poda gotowe zapytanie na tacy (IMG:style_emoticons/default/thumbsdownsmileyanim.gif) |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Poproszę pomógł za gotowca więc wykonaj SELECT * FROM tabela1,tabela2 ,bez korzystania z JOIN ,za to korzystając z IF pisząc IF miałem na myśli Mysql'owy IF Chętnie zobaczę takie rozwiązanie Cytat Na przyszłość mógłbyś wykazać więcej chęci do wyszukiwania informacji samemu , nie licz że ktoś Ci poda gotowe zapytanie na tacy (IMG:style_emoticons/default/thumbsdownsmileyanim.gif) Zajęło mi to 10 sek. wię ja podam, czemu nie (IMG:style_emoticons/default/smile.gif) Cytat szukałem nie umiem tego napisać więc się pytam tak? w końcu od tego jest forum. Przypuszczam że sam nie wiesz jak to napisać ;] A czemu jesteś dla kolegi nie miły ? Chciał pomóc... Acha... jeszcze taka rada - pole id_lang nazwał bym raczej id_module, a najlepiej FK_id_module i ustaił bym na nim klucz obcy do module.id - poczytaj o kluczach obcych (FOREIGN KEY) - w mysql są dostępne w silniku innoDB (myisam odchodzi powoli do lamusa) Ten post edytował cudny 12.03.2012, 23:04:45 |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
Nie działa (IMG:style_emoticons/default/sad.gif) nic nie wyświetla proszę sprawdź to jeszcze raz
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
musi dizałać, może nie masz nic w bazie. Sprawdź czy masz jakiś wpis w bazie module.id =1 jeśli nie to wywal where i zobacz co wyświetla
|
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
Sprawdziłem to za pomocą SQL w phpmyadmin wynik pozytywny zwróciło 3 rekordy tak jak chciałem.
wynik: Wygenerowany przez: phpM\Admin 3.3.9 / M\SQL 5.5.8 Zapytanie SQL: SELECT IFNULL( lang.name, module.name ) FROM module LEFT JOIN lang ON module.id = lang.id_lang AND lang.lang =2 LIMIT 0, 30 ; Rekordów: 3 i teraz w pliku robię:
wynik: Notice: Undefined index: name in C:\xampp\htdocs\cms\query.php on line 19 Notice: Undefined index: name in C:\xampp\htdocs\cms\query.php on line 19 Notice: Undefined index: name in C:\xampp\htdocs\cms\query.php on line 19 dlaczego tego nie wyświetla? Ten post edytował seba199696 13.03.2012, 17:44:37 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 387 Pomógł: 66 Dołączył: 31.03.2005 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
OMG (IMG:style_emoticons/default/biggrin.gif)
Miałeś dać pomógł (IMG:style_emoticons/default/biggrin.gif) I jeszcze jedno:
Nie można w ten sposód dawać zapytania do pdo - mogą powstawać błędy. Nie używaj znaków końca linii:
Ten post edytował cudny 13.03.2012, 20:13:34 |
|
|
![]()
Post
#14
|
|
Grupa: Zarejestrowani Postów: 119 Pomógł: 0 Dołączył: 4.01.2011 Ostrzeżenie: (20%) ![]() ![]() |
Masz te twoje pomógł (IMG:style_emoticons/default/tongue.gif) (IMG:style_emoticons/default/smile.gif) Dziękuję za pomoc, pozdrawiam
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 06:53 |