![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
Witam
posiadam dwie tabelę pages_cats -cat_id -cat_title pages -p_id -p_title -p_catid potrzebuję pobrać dane w mniej więcej taki sposób
czyli do każdego rekordu z 'pages_cats' dodajemy wszystkie rekordy z 'pages' gdzie pages.p_catid = pages_cats.cat_id dostaje taki komunikat: Cytat SQLSTATE[21000]: Cardinality violation: 1242 Subquery returns more than 1 row pierwszy raz stworzyłem takie zapytanie i mam z nim spory problem, po błędzie widzę że chodzi o to że wewnętrzne zapytanie zwróciło więcej niż jeden rekord, ale mi właśnie o to chodzi gdzie tu jest błąd ? -------------------- |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
@Kefirek, trochę o coś innego mi chodzi
po dodaniu LIMIT 1 do wewnętrznego zapytania uzyskałem coś takiego
Kod Array ( [0] => Array ( [cat_id] => 1 [cat_siteid] => 1 [cat_title] => testowa2sa [dane] => druga strona ) [1] => Array ( [cat_id] => 3 [cat_siteid] => 1 [cat_title] => Test [dane] => ) ) a chciałbym dostać coś takiego: Kod Array ( [0] => Array ( [cat_id] => 1 [cat_siteid] => 1 [cat_title] => testowa2sa [dane] => array('druga strona', 'trzecia strona', 'i nastepna z tabeli pages') ) [1] => Array ( [cat_id] => 3 [cat_siteid] => 1 [cat_title] => Test [dane] => array('rekordy z pages', '', '') ) ) czyli chciałbym pobrać wszystkie rekordy z 'pages' przypisane do danej kategorii a nie tylko jeden Ten post edytował pgrzelka 23.02.2009, 20:04:46 -------------------- |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zobacz tak
ALbo tak
Innego pomysłu nie mam Ten post edytował kefirek 23.02.2009, 20:59:46 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 313 Pomógł: 24 Dołączył: 9.08.2008 Skąd: Kielce Ostrzeżenie: (0%) ![]() ![]() |
dzięki kefirek za pomoc, zrobiłem trochę inaczej
wykorzystałem zapytanie z Twojego pierwszego posta i potem przetworzyłem dane Kod $rows = $db->fetchAll("
SELECT c.cat_title, p.p_linktitle, p.p_id FROM pages p LEFT JOIN pages_cats c ON (p.p_catid=c.cat_id) WHERE c.cat_siteid='$site_id' "); $rows2 = array(); foreach ($rows as $v) { $rows2[$v['cat_title']][] = array($v['p_linktitle'], $v['p_id']); } -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.08.2025 - 14:22 |