![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 4.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zrobiłem sobie takie zapytanie:
wyświetla to co chce, ale pojawia się problem dalej, otóż jak widać w zapytaniu, wyciągam 2x tą samą tabelę: ad_title, tyle, że za każdym razem wg innego id: Kod prop_zaco_ad_id | ad_title | prop_co_ad_id | ad_title 11 | opis1 | 16 | tytul1 2 | opis2 | 5 | tytul2 2 | opis2 | 11 | tytul3 i teraz robię pętle w PHP:
ale pokazuje tylko 1 wartość tytuł, a w zapyatniu mam: ad.ad_title, ad2.ad_title Czy jest to możliwe, aby wyciągnąc w 1 zapytaniu 2 różne tytuły, zależne od innego id ? Jak to poprawnie zapętlić ? Dzięki za pomoc. PW |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 16 Dołączył: 22.02.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
i uzycie : [php] Ten post edytował Neeke 18.01.2008, 20:46:54 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 4.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki.
O to właśnie chodziło. pzdr. PW No to jeszcze jedna kwestia: Wyświetlam sobie dane wyciągnięte z poprzedniego zapytania w 2 komorkach tabeli: Kod tytul2 (2): faek (5) tytul2 (2): łódka Bols (11) ...itd a robie to tak:
a ponieważ to SMARTY, to dalej:
no dobra, a jak zrobić coś takiego: Kod tytul2 (2): faek (5) łódka Bols (11) czyli jeśli w pierwszej komórce id (w tym wypadku2) wystepuje wiecej niz 1 raz - to wyswietla sie on tylko raz, a w prawej komorce pozostale pasujace opisy pozostaja ? pzdr. PW |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 16 Dołączył: 22.02.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
niewiem czy dobrze zrozumialem i co do smartow to niestety nie znam sie na nich ale w zapytaniu masz mozliwosc na koncu dodania paru dodatkow takich jak GROUP BY np. ad2.ad_id moze oto ci chodzi GROUP BY jest stosowane do grupowania rekordów w bazie czyli jezeli masz np 3 rekrdy o tej samej dacie w tej samej tabeli mozesz je zgrupowac przez dodanie
np.
i wyswietli ci tylko jeden raz ta date polecam troche manuala poczytac tam masz dokladnie opisane |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 4.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
hm, raczej nie nie GROUP, bo ogranicza mi wyniki...
tutaj raczej szukam jakies rozwiazania do samej prezentacji wynikow zapytania. No chyba, że kolejny select w pętli ? Chodzi po prostu o to, żeby w smarty fragment, który odpowiada za lewą komórkę :
pokazwył tylko unikalne wyniki, pamiętając, że pętla działa również do prawej komórki, a tam powinny pojawić się wyniki zależne od parametru z lewej komórki, a wiec moze byc ich wiecej. nie wiem czy to jasno przedstawiłem. dzieki. PW |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 124 Pomógł: 16 Dołączył: 22.02.2007 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Tu zabardzo Ci niepomoge jednak. Ale ja bym probowal z tym dodatkowym selectem w petli ..
pozdr. |
|
|
![]() ![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 35 Pomógł: 0 Dołączył: 4.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zrobione.
Trochę prób i udało się. W PHP: wrzucilem 2 selecty ale niezalażne od siebie (niezagniezdzone) a w smarty 2 pętle od tych 2 selectow zagnieżdzone a w srodku prosty warunek:
i hula ![]() pzdr. PW |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 18.02.2009 Ostrzeżenie: (0%) ![]() ![]() |
Dodaj alias przy wypisywaniu 1 tytulu
[code=sql]SELECT DISTINCT p.prop_co_ad_id, p.prop_zaco_ad_id, ad.ad_title as tytul, ad2.ad_title from zam714_prop p JOIN zam714_user u ON (p.prop_user_do_id = 423 ) JOIN zam714_ad a ON (a.ad_owner=u.user_id) LEFT OUTER JOIN zam714_ad ad ON(ad.ad_id=p.prop_zaco_ad_id) LEFT OUTER JOIN zam714_ad ad2 ON(ad2.ad_id=p.prop_co_ad_id) [/code] Wypisz tak: Kod <?php <?php $i=0; while ($row_prop3 = mysql_fetch_array($prop3)) { $lProp3[$i]["tytul"]=$row_prop3["ad_title"]; $i++; } ?> ?> Dodaj alias przy wypisywaniu 1 tytulu [code=sql]SELECT DISTINCT p.prop_co_ad_id, p.prop_zaco_ad_id, ad.ad_title as tytul, ad2.ad_title from zam714_prop p JOIN zam714_user u ON (p.prop_user_do_id = 423 ) JOIN zam714_ad a ON (a.ad_owner=u.user_id) LEFT OUTER JOIN zam714_ad ad ON(ad.ad_id=p.prop_zaco_ad_id) LEFT OUTER JOIN zam714_ad ad2 ON(ad2.ad_id=p.prop_co_ad_id) [/code] Wypisz tak: Kod <?php <?php $i=0; while ($row_prop3 = mysql_fetch_array($prop3)) { $lProp3[$i]["tytul"]=$row_prop3["ad_title"]; $i++; } ?> ?> Nie wiem czy o to chodzilo ale mniej wiecej tak to zrozumiałem |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 07:04 |