Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%)
|
Hej.
Mam dwie tabelki: Cytat CREATE TABLE `lang` ( `l_id` int(11) NOT NULL auto_increment, `l_ext` varchar(2) default NULL, `l_val` text, `u_usage` int(11) default NULL, PRIMARY KEY (`l_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin2; CREATE TABLE `urls` ( `u_id` int(11) NOT NULL auto_increment, `u_text` int(11) default NULL, `u_href` varchar(256) default NULL, `u_css_class` varchar(64) default NULL, `u_css_id` varchar(64) default NULL, `u_smarty_name` varchar(64) default NULL, PRIMARY KEY (`u_id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin2; Url składa się głównie z dwóch części hrefa i tekstu wyświetlanego. Oba elementy składuję w tabelce lang w tabelce url pola u_href i u_text mają numery u_usage rekordów z tabelki lang. Jak mam pobrać zamiast u_text i u_href rekord odpowiadający urls.u_href = lang.u_usage as href i urls.u_text = lang.u_usage as text ? Najprościej mówiąc chciałbym pobrać link z tym że jego adres i nazwa wyświetlana znajdują się w tabeli lang, a w tabeli urls są tylko identyfikatory (u_usage) przechowywać je chcę w tabeli bo chciałbym zrobić kilka wersji językowych. Czy wie ktoś jakiego zapytania użyć żeby zostały pobrane te dane ? |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 9.12.2006 Ostrzeżenie: (0%)
|
podrzuć kilka przykładowych wpisów, jakie masz lub będziesz miał w tych dwóch tabelach
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%)
|
CODE /*Data for the table `lang` */ insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('en','News',1); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('en','Company',2); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('en','Board',3); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('pl','Nowości',1); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('pl','Firma',2); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('pl','Forum',3); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('pl','nowosci.htm',4); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('pl','firma.htm',5); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('pl','forum.htm',6); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('en','news.htm',4); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('en','company.htm',5); insert into `lang`(`l_ext`,`l_val`,`u_usage`) values ('en','board.htm',6); /*Data for the table `urls` */ insert into `urls`(`u_text`,`u_href`,`u_css_class`,`u_css_id`,`u_smarty_name`) values (1,4,NULL,NULL,'url_news'); insert into `urls`(`u_text`,`u_href`,`u_css_class`,`u_css_id`,`u_smarty_name`) values (2,5,NULL,NULL,'url_firma'); insert into `urls`(`u_text`,`u_href`,`u_css_class`,`u_css_id`,`u_smarty_name`) values (3,6,NULL,NULL,'url_forum'); Teraz chciałbym aby link miał taką postać <a href="nowosci.htm">Nowości</a> Parametry odpowiadające obu rekordom to 1 i 4 ( u_usage - ostatni dodawany parametr ) Jak pobrać te rekordy - dwa z tablicy lang kierując się rekordem z tablicy urls ? |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 73 Pomógł: 0 Dołączył: 9.12.2006 Ostrzeżenie: (0%)
|
próbowałem napisać sql, pod twoje tabele, ale musiałbyś robić dwa zapytania
ja bym ci proponował, trochę inaczej, zbudować tabelę "lang"
i wtedy wyciągasz dane za pomocą prostego sql'a
Ten post edytował spryciula 2.04.2007, 15:24:48 |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%)
|
Wszystko fajnie ale w tabeli lang mają być nie tylko linki ...
znaczy się moje ujednolicenie diabli wzięli i muszę zrobić to inaczej bo albo się nie da tak jak ja chcę albo nikt nie wie jak to zrobić faaaajnie Konkurs rozwiązany ! mysql> SELECT l1.l_ext,l1.l_val as text,l2.l_val as url,urls.* FROM `urls` LEFT JOIN lang l1 ON l1.u_usage = urls.u_text LEFT JOIN lang l2 ON l2.u_usage = urls.u_href WHERE l1.l_ext = 'pl' and l2.l_ext = 'pl'; Pobiera to zapytanie dokładnie to co trzeba. Już zamierzałem zmieniać strukturę bazy ................... Dobrze jest wiedzieć że jest tutaj ktoś komu się chciało za dwadzieścia złotych napisać to dla mnie. [SOLVED] |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 29.04.2002 Skąd: jesteś? Ostrzeżenie: (0%)
|
Szkoda, że komuś jednak się nie chciało tych 20 zł wysłać (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)
To już drugi przypadek na tym forum, w ciągu miesiąca, gdy za pomoc nie otrzymuje OBIECANEGO grosza. |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 31.03.2007 Ostrzeżenie: (0%)
|
Bardzo przepraszam że tak wyszło.
Przeziębiłem się i w ogóle zapomniałem o bożym świecie. Zwlekę się z wyra jutro ( właściwie już dzisiaj ), pójdę na pocztę i wyślę ci obiecane 20 złotych. Gwoli ścisłości tobie i drugiemu panu który mi przysłał rozwiązanie. Jeszcze raz obu was przepraszam. |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 29.04.2002 Skąd: jesteś? Ostrzeżenie: (0%)
|
I wszystko u mnie dobrze się skończyło gdyż wpłynął obiecany bonus na moje konto. Dziękuje.
|
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 00:34 |