s.a
kategorilere göre o kategoriye ait verileri sıralamak istiyorum. mesela
kategori1
--kategori1 'e eklenen veriler
kategori2
--kategori3 'e eklenen veriler
kategori3
--kategori3 'e eklenen veriler
bu şekilde sıralamak için ne yapmam gerekiyor.
tablo yapım.
CREATE TABLE `sayfa` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`baslik` text,
`aciklama` text,
`kat_id` text NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=875 ;
CREATE TABLE `kategori` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`baslik` text,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin5 AUTO_INCREMENT=581 ;
tek sayfada kategoriye göre verileri sıralamak
6
●535
- 28-05-2010, 15:45:29
$sql = mysql_query('SELECT * FROM kategori ORDER BY id'); $query = mysql_fetch_row($sql); foreach ($query as $kategori){ echo "Kategori Adı:".$kategori->baslik." <hr /><br />"; $urun = mysql_query('SELECT * FROM sayfa WHERE kat_id = '.$kategori->id.''); $urunq = mysql_fetch_row($urun); foreach ($urunq as $urunler){ echo "Başlık:".$urunler->baslik." <br />"; echo "Açıklama:".$urunler->aciklama." <br />"; } } - 28-05-2010, 16:54:42melihbuyuk çok sağol kodları ekledim fakat aşağıdaki hatayı alıyorum. nasıl düzeltebilirim..
Kategori Adı:
--------------------------------------------------------------------------------
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:\Server\AppServ\www\iso\kategori.php on line 16
Warning: Invalid argument supplied for foreach() in D:\Server\AppServ\www\iso\kategori.php on line 17
Kategori Adı:
--------------------------------------------------------------------------------
Warning: mysql_fetch_row(): supplied argument is not a valid MySQL result resource in D:\Server\AppServ\www\iso\kategori.php on line 16
Warning: Invalid argument supplied for foreach() in D:\Server\AppServ\www\iso\kategori.php on line 17 - 28-05-2010, 17:27:40Birde Şu Şekilde Denermisin
$sorgu = "SELECT * FROM kategori ORDER BY id DESC "; $sonuc = mysql_query($sorgu); if (!$sonuc) { echo"Sorgu çalıştırılamadı"; exit; } $row = mysql_free_result($sonuc); foreach ($row as $kategori){ echo "Kategori Adı:".$kategori->baslik." <hr /><br />"; $sorgu_u = "SELECT * FROM sayfa WHERE kat_id = ".$kategori->id." ORDER BY id DESC "; $sonuc_u = mysql_query($sorgu_u); $urun_q = mysql_fetch_array($sonuc_u); foreach ($urunq as $urunler){ echo "Başlık:".$urunler->baslik." <br />"; echo "Açıklama:".$urunler->aciklama." <br />"; } } - 28-05-2010, 18:44:37evet tabloların içeriği dolu. yine hata verdi.
ben foreach yerine while kullanıp yaptım. mantığını bilmiyordum senin verdiğin kodlardan yola çıkarak çözdüm. yardımlarınız için çok tşk ederim..
$sql = "select * FROM kategori ORDER BY id";
$query=mysql_query($sql);
while ($yazdir=mysql_fetch_array($query)) {
echo "<div class=\"menutitle\" onclick=\"SwitchMenu('$yazdir[id]')\">Site Menu</div>";
echo "<span class=\"submenu\" id=\"$yazdir[id]\">";
$urun = mysql_query('SELECT * FROM sayfa WHERE kat_id = '.$yazdir[id].'');
while ($yazdir2=mysql_fetch_array($urun)) {
echo "- <a href=\"index.php?sayfa=servis&id=$yazdir2[id]\">$yazdir2[baslik]</a><br>";
}
}