No wlasnie o to chodzi ze nie chce tego rozwiazac za pomoca 2 zapytan.
Jezeli mam zapytanie: Select w.id as id , z.id as idd from wydarzenia w, zdjecia z. to zeby odwolac sie do id ze zdjec to wiem ze to bedzie idd. Myslalam ze moze jest tez taki sposob ze jezeli wykorzystujemy 'LIMIT' przy 2 tabelach to da mu sie powiediec ktora tabele ma "limitowac"..
No ale wiem juz ze sie nie da: bo moje zapytanie zwraca iles tam rekordow a limit 2 wyswietla tylko 2 z nich i juz rozumiem czemu tak wyswietla..
No ale to nie rozwiazuje mojego problemu..
Moim zadaniem jest wyswietlenie danych z 2 tabel w taki sposob:
wydarzenie1
zdj1
zdj2
..
zdjn
wydarzenie2
zdj1
zdj2
..
zdjn
..
wydarzenieN
zdj1
zdj2
..
zdjn
<?php
$query = "select z.*, k.* from wydarzenia k left join zdjecia z on k.id = z.id_kat order by k.id desc";
$result = $connection->executeQuery($query);
$kategoria = null;
while ($line = $connection->fetchAssoc())
{
if($kategoria != $line[tytul])
{
$kategoria = $line[tytul];
print "<a name='$line[id_aktual]' id='$line[id_aktual]'></a><br />"; print "<span class='style4'><span class='style5'>$line[tytul]</span><br />"; print "</span><span class='style4'>$line[data]</span><br />"; if ($line[tresc] <> null)
{
print "$line[tresc]<br /><br />"; }
print "$line[tresc2]<br /><br />";
if ($line[sciezka_m] <> null)
{
print "Zobacz zdjęcia:<br /><br />"; }
}
if(!empty($line['sciezka_m'])) {
print"<a href='$line[sciezka_d]' rel='lightbox[roadtrip$line[id_kat]]'><img src='$line[sciezka_m]' class='zdjecie' width=\"107\" border='0' /></a>";
}
}
?>
I to juz mam ale musze te wydarzenia wraz ze zdjeciami wyswietlac po 2 na stronie.. czyli pageing.
Wystarczy ze uda mi sie uzyc LIMIT do tych 2 tabel by wyswietlilo mi tylko 2 pierwsze wydadzenia wraz ze zdjeciami, a dalej juz bede wiedziala co robic..
Wiem ze mozna to zrobic za pomoca 2 zapytan:
<?php
$kategorieSql = mysql_query('select * from Kategorie order by nazwa asc');
echo $kategoria['nazwa'] . '<br>';
$zdjeciaSql = mysql_query('select * from Zdjecia where id_kategorii = ' . $kategoria['id']); echo $zdjecie['sciezka'] . '<br>'; }
}
?>
ale to " pokazuje jedną z gorszych praktyk, jakie można stosować przy zabawie z SQL. Uzależniasz ilość zapytań od ilości rekordów w bazie. Jeśli w tabelce 'Kategoria' będziesz miał 1k rekordów, to 'Zdjęcia' wykonasz 1k zapytań. Jeśli będzie tam 100k rekordów, to liczba zapytań będzie odpowiednio większa. Trzeba się wystrzegać powielania złych nawyków"
Dlatego zrobilam to za pomoca jednego zapytania.. I teraz mam problem..