• 18-08-2012, 11:27:01
    #1
    merhabalar,

    $kategoriii= 'kategori'.$x;
    $kategori = $row->$kategoriii;
    class yapısı ile kategoriidsini çekmeye çalışıyorum ama hata veriyor.

    normalde tek olsaydı
    $kategori = $row->kategori1;
    yazmam yeterliydi sizce nasıl yapabilirim?
  • 18-08-2012, 11:30:14
    #2
    Üyeliği durduruldu
    $kategori = $row->kategori($x);
    kategori tabiki public function olmalı

    ve kategori1 de ne yapıyorsan kategori içinde yapıp x değişkenini uygun sekilde kullanmalısın.
  • 18-08-2012, 13:29:23
    #3
    dedigin gibi yaptıgımda

    Fatal error: Call to undefined method stdClass::kategori() in

    hatasını veriyor
  • 18-08-2012, 16:47:50
    #4
    Kimlik doğrulama veya yönetimden onay bekliyor.
    kategori1

    bu degisken birseyse

    $row->kategori2
    $row->kategori3

    die devam ediyor ise

    $degisken1 = 20;
    $sayi = 1;
    $c =  ${"degisken".$sayi};
    echo $c;
    bu sekilde bir yapi ile kullanabilirsin..

    Lakin Şahsi görüşüm sanki yanlış bir işlem yapiosun diyor..

    $row 'u atadığın sınıf ve kategori degiskenine atadığın değerleri bir örnek ile gosterebilirsen daha sağlıklı bir yol bulabiliriz..
  • 18-08-2012, 18:22:05
    #5
    Üyeliği durduruldu
    nurettin adlı üyeden alıntı: mesajı görüntüle
    dedigin gibi yaptıgımda

    Fatal error: Call to undefined method stdClass::kategori() in

    hatasını veriyor
    kategoriyi class icinde public tanımlamalısın. kategoriyi bulamıyor class içinde. başka bir isimde olabilir sanırım senin kategori diye bir değişkenin var karışmasın ortalık


    public function kategori($x)
    {
       //islemler.
    }
  • 18-08-2012, 23:12:07
    #6
    <?php
    class Me
    {
    	# Özellikler
    	public $property_1 = 'Özellik 1';
    	public $property_2 = 'Özellik 2';
    	
    	# Özellikler
    	public static $static_property_1 = 'Statik Özellik 1';
    	public static $static_property_2 = 'Statik Özellik 2';
    	
    	# Davranışlar
    	public function method_1() { return __FUNCTION__; }
    	public function method_2() { return __FUNCTION__; }
    	
    	# Statik Davranışlar
    	public static function static_method_1() { return __FUNCTION__; }
    	public static function static_method_2() { return __FUNCTION__; }
    }
    
    $x = 1;
    $me = new Me();
    
    # Özellik çağır
    $prop = 'property_' . $x;
    echo $me->$prop;
    echo '<br>';
    
    # Statik Özellik çağır
    $staticprop = 'static_property_' . $x;
    echo Me::${$staticprop}; 
    echo '<br>';
    
    # Davranış çağır
    $func = 'method_' . $x;
    echo $me->$func(); 
    echo '<br>';
    
    # Statik davranış çağır
    $staticfunc = 'static_method_' . $x;
    echo Me::$staticfunc() . '<br>'; 
    exit;
    ?>
    Umarım probleminizi bu kodlardaki örnekler giderebilir.