• 28-05-2010, 15:06:07
    #1
    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 ;
  • 28-05-2010, 15:45:29
    #2
    $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:42
    #3
    melihbuyuk ç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:13:36
    #4
    Tablolarının İçeriği Dolu Demi ?
  • 28-05-2010, 17:27:40
    #5
    Birde Ş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, 17:55:30
    #6
    Üyeliği durduruldu
    akaturk adlı üyeden alıntı: mesajı görüntüle
    s.a

    kategorilere göre o kategoriye ait verileri sıralamak istiyorum. mesela

    kategori1
    --kategori1 'e eklenen veriler
    <? $result = mysql_query("SELECT * FROM Tablo WHERE kat_id=1 ORDER BY RAND() LIMIT X;"); ?>


    kategori2
    --kategori2 'e eklenen veriler
    <? $result = mysql_query("SELECT * FROM Tablo WHERE kat_id=2 ORDER BY RAND() LIMIT X;"); ?>


    kategori3
    --kategori3 'e eklenen veriler
    <? $result = mysql_query("SELECT * FROM Tablo WHERE kat_id=3 ORDER BY RAND() LIMIT X;"); ?>

    mesaj
  • 28-05-2010, 18:44:37
    #7
    evet 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>";
    }
    }