• 26-08-2008, 21:26:43
    #1
    Slm arkadaşlar mysqlda kategoriler diye bi tablom var altında id ve kat olmak üzere iki alanım var ben sadece id 2 deki yani 2. kategorideki haberleri göstermek istiyorum bunu nasıl yapabilirim
  • 26-08-2008, 21:35:06
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    <?php
    
    $dbhost = 'localhost';
    $dbkuladi = '*****';
    $dbkulsifre = '*******';
    $db_ismi = "*******";
    
    $baglan = mysql_pconnect($dbhost,$dbkuladi, $dbkulsifre);
    $sec = mysql_select_db($db_ismi);
    
    $datacek = mysql_query("SELECT * FROM kategoriler WHERE id=2");
    
    while ($sorgumuz = mysql_fetch_row($datacek))
            echo "id :".$sorgumuz[0].", kat: ".$sorgumuz[1]."<br />";
    
    ?>
    gibi birşey mi?
  • 26-08-2008, 21:41:24
    #3
    dediğinizi yaptım sadece kategori adını ve id sini dosterdi o kategorideki haberler çıkmadı :S
  • 26-08-2008, 21:46:45
    #4
    tablonun tümünü söylesen daha iyi olurdu.

    mesela tablo soldan sağa id, kat, haberler şeklinde mi? yani haberler o bağlandığımız tabloda mı?
  • 26-08-2008, 21:50:08
    #5
    kategori diye bi tablo var bunun altında id ve kad alanları var ayrıyeten
    haber diye bi tablo var bunda id, kid (kategori id si ), baslik; resim url, diye alanlar var
  • 26-08-2008, 22:05:18
    #6
    sadece verdiğin bilgilere göre yazdım...


    <?php
    
    	$dbhost = 'localhost';
    	$dbkuladi = '*****';
    	$dbkulsifre = '*******';
    	$db_ismi = "*******";
    
    	$baglan = mysql_pconnect($dbhost,$dbkuladi, $dbkulsifre);
    	$sec = mysql_select_db($db_ismi);
    
    	$datacek = mysql_query("SELECT * FROM kategoriler WHERE id=2");
    
    	$katid = array();
    	while ($sorgumuz = mysql_fetch_assoc($datacek))
    		$katid[] = $sorgumuz['kat'];
    		
    		
    	$datacek = mysql_query("
    	SELECT 
    		t.kid, t.baslik, t.resim
    	FROM (haber AS t)	
    	WHERE t.kid IN (" . implode(', ', $katid) . ")
    	LIMIT 0, 10");
    	
    	$goster = array();
    	while ($sorgumuz = mysql_fetch_assoc($datacek))
    	{
    		$goster[] = array(
    			'haberbasligi' => $sorgumuz['baslik'],
    			'haberresmi' => $sorgumuz['resim']
    			);
    	}
    	
    	foreach ($goster as $data)
    		echo "Haber Başlığı: ".$data['haberbasligi']." Resmi: ".$data['haberresmi']."<br />";
    
    	
    ?>
  • 26-08-2008, 22:07:52
    #7
    $datacek = mysql_query("SELECT * FROM haberler WHERE kid=2");
    
    while ($sorgumuz = mysql_fetch_array($datacek))
            echo 'Başlık : '.$sorgumuz['baslik'].'<br> Resim : '.$sorgumuz['resim_url'].'<br> İçerik :'.$sorgumuz['icerik'].'<br><br>';
  • 26-08-2008, 22:11:28
    #8
    mert kid=2 oldugunu bilmiyoruz. kategoriler tablosundaki id=2 imiş. ordan id=2 ikenki kat=? değerini alıp haber tablosunda kid=kat yapacaksın. yukarıda verdiğim kod onu yapıyor.
  • 26-08-2008, 22:36:25
    #9
    Haklısın, o zaman;
    $datacek = mysql_query("SELECT * FROM haberler WHERE kid=(SELECT id FROM kategoriler WHERE id=2)");
    
    while ($sorgumuz = mysql_fetch_array($datacek))
            echo 'Başlık : '.$sorgumuz['baslik'].'<br> Resim : '.$sorgumuz['resim_url'].'<br> İçerik :'.$sorgumuz['icerik'].'<br><br>';
    Bu şekilde olur.