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
Buraya kadar herşey normal çünkü sorguları bu şekilde başka sayfalarda kullanıyorum
Fakat film burada kopuyor.
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.
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();
Bu konu hakkında yardımlarınıza ihtiyacım var. Şimdiden herkese teşekkür ederim.