Php class ile sınırsız kategorileri listeleme sorunu!

gezginbilge

Öğrenci
Katılım
21 Haziran 2012
Mesajlar
17
Reaksiyon puanı
0
Puanları
0
Merhaba arkadaşlar. Bir konu ile ilgili size danışmak istiyorum. Php class yapısıda yeniyim ve sitemde bulunan kategorileri listelemem gerekiyor.
Sql sorguları , fetch_assoc yapısı v.s hepsi oluşturduğum sınıf yapısınının içinde . Normalde sql sorgusu çalışmasına rağmen kategori listeleme aşamasında sorun veriyor. Ya bilgisayar kitleniyor yada sorgu sadece ilk kategoriyi döndürüp bırakıyor. Konuyu internette aramama rağmen sınıf yapısı olarak bişey göremedim. Normalde sınıf dışındaki bir fonksiyonun sınıf içinde de aynı şekide çalışması gerekiyor ama olmuyor. Sanırsam sorun sql_sorgusundan kaynaklı ama yinede tam olarak çözemedim. Lafı çok uzattım affınıza sığınıyorum. Fakat projenin neredeyse dönüm noktalarından biri burası.

Örnek veri tabanı
tablo adı kategoriler

|ID| KategoriAdi | KatID |
------------------------
|1 | Bilgisayarlar | 0 |
------------------------
|2 | Çevre Birim. | 0 |
------------------------
|3 | Oem | 2 |
-------------------------
|4 | Kutu Ürünleri | 3 |

... v.b

sınıf yapısına gelincede

PHP:
class vt {   
private $sunucu="localhost";    
private $kullanici="***";    
private $sifre="***";    
private $slct_adi="proje";
public $baglanti;    
public $sql=NULL;
/*** Veritabanı bağlantısı yapılır.*/
public function baglan() {     // Veritabanı sunucusuna bağlan    
 $this->vt_baglanti = mysql_connect($this->sunucu, $this->kullanici, $this->sifre);     
// Veritabanı sunucusu ile bağlantı gerçekleşti ise istenen veritabanını seçili hale getir     
if (is_resource($this->baglanti))     {         
mysql_select_db($this->slct_adi);        
mysql_query("SET NAMES UTF8");        
/ [MENTION=34498]MySQL[/MENTION]_query("SET NAMES 'utf8'");         [MENTION=34498]MySQL[/MENTION]_query("SET CHARACTER SET UTF8"); //dil secenekleri         [MENTION=34498]MySQL[/MENTION]_query("SET COLLATION_CONNECTION = utf8_turkish_ci");
     }
 }
/*** Kurucu yöntem. Burada ilklendirme işlemleri yapılır.*/
public function __construct(){   
 $this->baglan();    
}
public function sorgu($sql){   
 //return(mysql_query($sql,$this->baglanti));   
 return($this->sql=mysql_query("$sql",$this->baglanti));    
}

Buraya kadar herşey normal çünkü sorguları bu şekilde başka sayfalarda kullanıyorum
Fakat film burada kopuyor.
PHP:
class kategori_menu extends vt{
function kategori($id = 0, $string = 1){
    $query = $this->sorgu("select * from `kategoriler` where KatID= '$id'");
    if (mysql_affected_rows()){
        echo '<ul>';
        while ($row = $this->fetch_assoc($this->sql)){
            echo '<li><div class="icon"></div><a href="deneme.html">'.str_repeat('-',$string).$row["KategoriAdi"].'</a></li>';
            $this->kategori($row["ID"], $string + 1);
        }
        echo '</ul>';
    }else{
        return false;
    }
}
$kategori=new kategori_menu();
$kategori->kategori();
ve bunun gibi denediğim belki abartısız 10 dan fazla kategori listeleme fonksiyonu ama sonuç hüsran.

Bu konu hakkında yardımlarınıza ihtiyacım var. Şimdiden herkese teşekkür ederim.
 
S

SDN Okuru

SDN Okuru
Arkadaşlar yardım edecek yada fikir verebilecek kimse yok mu ? Konu gerçekten acil . ve ben sadece haber bekliyorum. Ne yaptım ise olmadı çünkü.
 

gezginbilge

Öğrenci
Katılım
21 Haziran 2012
Mesajlar
17
Reaksiyon puanı
0
Puanları
0
Arkadaşlar sorun çözülmüştür.
Tüm kodları tek tek incelediğimde bir kırlangıç parantezinin fazladan kapandığını fark ettim. Notepad++ sağolsun. Konu kapatılabilir. Teşekkür ederim.
 
Üst