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ı.
PHP- Kodu: 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- Kodu:
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 data-test="test" rel="nofollow" style="word-wrap: break-word; text-decoration: underline;" target="_blank" onclick="return dhExternalLinkRedirect(this)" href="/ExternalLinkRedirect?module=pgdcode&messageId=77858915&url=deneme.html" data-href="deneme.html">'.str_repeat('-',$string).$row["KategoriAdi"].'</a></li>'; $this->kategori($row["ID"], $string + 1); } echo '</ul>'; }else{ return false; } }