• 11-06-2013, 11:07:25
    #1
    <?php
    
    class Index_Model extends Model {
    
        public function __construct() {
            parent::__construct();
        }
        
    	public function kategori($ka){
    	$t=mysql_query("select * from kategori where kategori='$ka'");
    	if(mysql_num_rows($t)>0){
    	$y=mysql_fetch_object($t);
    	return $y->kid;
    	}
    		else{
    		mysql_query("insert into kategori set kategori='$ka'");
    		return mysql_insert_id();
    		}}
    		
    		
    	
        public function search($aranan) {
    	 $baslangic = "";
    	 $feedURL = "http://gdata.youtube.com/feeds/api/videos?q=$aranan$baslangic";  
     
    $sxml = simplexml_load_file($feedURL);
    echo "<a href =\"$feedURL\">link</a><br>";
    echo "<pre>";
    
    foreach ($sxml->entry as $entry) {  
      $media = $entry->children('http://search.yahoo.com/mrss/');  
      $attrs = $media->group->content[0]->attributes();  
      $content = $attrs['url'];  
      $attrs = $media->group->thumbnail[1]->attributes();  
      $thumbnail = $attrs['url'];  
      $title = $media->group->title;  
      $title = str_replace('"', '', $title);  
      $title = str_replace('/', ' - ', $title); 
      $yt = $media->children('http://gdata.youtube.com/schemas/2007');	  
      $attrs = $yt->duration->attributes();  
      $length = gmdate("H:i:s", (int)$attrs['seconds']); 
      $bid = $entry->id[0];  
      $bid2 = explode("http://gdata.youtube.com/feeds/api/videos/", $bid);
      $bid3 = $bid2[1];
      
      $kim = $entry->author->name;
      $kate = $media->group->category[0];
      $acik = $media->group->description;
    
    
    $whe = $entry->published;
     echo "$bid3 - $thumbnail<br>"; // HER VİDEONUN ID Sİ VE UFAK RESİM URL ini veriyor. //
    $a = kategori($kate); // burada kategori adını kategori fonksiyonuna sokmaya çalışırken hata alıyorum. $kate ile echo yaparsam 25 videonun ( foreach den dönen) kategori adını alabiliyorum. fonksiyon sorunsuz çalışıyor mvc yapısına geçirmeden önce. onu da geçtim, en ufak bir toplama fonksiyonu bile çalışmadı.
    
    
    
    /*
    Video ID : $bid3
    Video Baslik : $title
    Video Süresi : $length
    Video Kategori : $kate
    Ufak Resim : $thumbnail
    */
    }    
    }
    	
      
             
    
    }
    kod içine not düştüm gereken yerleri. sağolun yardımlarınız için..
  • 11-06-2013, 11:26:32
    #2
    Üyeliği durduruldu
    $this->ketegori();

    şeklinde kullan
  • 11-06-2013, 12:00:11
    #3
    @madly0011 arkadaşın dediği gibi $this->kategori(); şeklinde ulaşabilirsin.

    bir de merak ettim hocam search fonksiyonu tam olarak ne iş görüyor.
  • 11-06-2013, 12:17:58
    #4
    Üyeliği durduruldu
    BLaH adlı üyeden alıntı: mesajı görüntüle
    @madly0011 arkadaşın dediği gibi $this->kategori(); şeklinde ulaşabilirsin.

    bir de merak ettim hocam search fonksiyonu tam olarak ne iş görüyor.
    youtube apisine benziyor youtube da arama yapıyor olması lazım
  • 11-06-2013, 12:42:18
    #5
    çok sağolun oldu. 2 gündür çalışıyorum gözümden kaçanlarla bilmediğim şeyleri karıştırır oldum..

    //

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\localhost\htdocs\models\index_model.php on line 11

    diye bir hata alıyorum şimdide.

    10 $t=mysql_query("select * from kategori where kategori='$ka'");
    11 if(mysql_num_rows($t)>0){
    12 $y=mysql_fetch_object($t);
  • 11-06-2013, 12:53:39
    #6
    Üyeliği durduruldu
    bLoo adlı üyeden alıntı: mesajı görüntüle
    çok sağolun oldu. 2 gündür çalışıyorum gözümden kaçanlarla bilmediğim şeyleri karıştırır oldum..

    //

    Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in E:\localhost\htdocs\models\index_model.php on line 11

    diye bir hata alıyorum şimdide.

    10 $t=mysql_query("select * from kategori where kategori='$ka'");
    11 if(mysql_num_rows($t)>0){
    12 $y=mysql_fetch_object($t);
    $t değişkenine atadığın sql sorgusu çalışmamış başarısız olmuş demektir. bazı nedenleri
    1-bağlantı olmamış olabilir
    2-sql servis servis dışı olabilir kategori tablosu yok olabilir kategori tablosunda 3-kategori sütunu bulunmuyor olabilir.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 12:53:39 -->-> Daha önceki mesaj 12:48:27 --

    çözemezsen 10. satırın altına bunu yaz hata ekranda çıkacak onu yaz buraya
    if(!$t)
    {
    echo mysql_error();
    }
  • 11-06-2013, 14:51:11
    #7
    madly0011 adlı üyeden alıntı: mesajı görüntüle
    $t değişkenine atadığın sql sorgusu çalışmamış başarısız olmuş demektir. bazı nedenleri
    1-bağlantı olmamış olabilir
    2-sql servis servis dışı olabilir kategori tablosu yok olabilir kategori tablosunda 3-kategori sütunu bulunmuyor olabilir.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 12:53:39 -->-> Daha önceki mesaj 12:48:27 --

    çözemezsen 10. satırın altına bunu yaz hata ekranda çıkacak onu yaz buraya
    if(!$t)
    {
    echo mysql_error();
    }
    db seçilmedi diyor. PDO kullanıyorum, normal kodla olmuyor..

    PDO da select;
    $res = $DB->query('SELECT COUNT(*) FROM table');
    $num_rows = $res->fetchColumn();
    or
    
    $res = $DB->prepare('SELECT COUNT(*) FROM table');
    $res->execute();
    $num_rows = $res->fetchColumn();
    You can use this to ask if data exists or is selected, too:
    
    $res = $DB->query('SELECT COUNT(*) FROM table');
    $data_exists = ($res->fetchColumn() > 0) ? true : false;
    Or with your variables:
    
    $res = $DB->query('SELECT COUNT(*) FROM table');
    $message = ($res->fetchColumn() > 0) ? array('status' => 'ok') : array('status' => 'error');
    kendi kullandığım database class'ı
    <?php
    
    class Database extends PDO
    {
        
        public function __construct($DB_TYPE, $DB_HOST, $DB_NAME, $DB_USER, $DB_PASS)
        {
            parent::__construct($DB_TYPE.':host='.$DB_HOST.';dbname='.$DB_NAME, $DB_USER, $DB_PASS);
            
            //parent::setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTIONS);
        }
        
        /**
         * select
         * @param string $sql An SQL string
         * @param array $array Paramters to bind
         * @param constant $fetchMode A PDO Fetch mode
         * @return mixed
         */
        public function select($sql, $array = array(), $fetchMode = PDO::FETCH_ASSOC)
        {
            $sth = $this->prepare($sql);
            foreach ($array as $key => $value) {
                $sth->bindValue("$key", $value);
            }
            
            $sth->execute();
            return $sth->fetchAll($fetchMode);
        }
        
        public function say($sql){
            
            $res = $this->prepare("$sql ");
            $res->execute();
           return $num_rows = $res->fetchColumn();
            
        }
        /**
         * insert
         * @param string $table A name of table to insert into
         * @param string $data An associative array
         */
        public function insert($table, $data)
        {
            ksort($data);
            
            $fieldNames = implode('`, `', array_keys($data));
            $fieldValues = ':' . implode(', :', array_keys($data));
            
            $sth = $this->prepare("INSERT INTO $table (`$fieldNames`) VALUES ($fieldValues)");
            
            foreach ($data as $key => $value) {
                $sth->bindValue(":$key", $value);
            }
            
            $sth->execute();
        }
        
        /**
         * update
         * @param string $table A name of table to insert into
         * @param string $data An associative array
         * @param string $where the WHERE query part
         */
        public function update($table, $data, $where)
        {
            ksort($data);
            
            $fieldDetails = NULL;
            foreach($data as $key=> $value) {
                $fieldDetails .= "`$key`=:$key,";
            }
            $fieldDetails = rtrim($fieldDetails, ',');
            
            $sth = $this->prepare("UPDATE $table SET $fieldDetails WHERE $where");
            
            foreach ($data as $key => $value) {
                $sth->bindValue(":$key", $value);
            }
            
            $sth->execute();
        }
        
        /**
         * delete
         * 
         * @param string $table
         * @param string $where
         * @param integer $limit
         * @return integer Affected Rows
         */
        public function delete($table, $where, $limit = 1)
        {
            return $this->exec("DELETE FROM $table WHERE $where LIMIT $limit");
        }
        
    }
    //

    örnek kullanımı :
    <?php
    
    class Note_Model extends Model
    {
        public function __construct()
        {
            parent::__construct();
        }
    
        public function notListesi()
        {
            return $this->db->select('SELECT * FROM note WHERE userid = :userid', 
                    array('userid' => $_SESSION['userid']));
        }
        
        public function notIcerigi($noteid)
        {
            return $this->db->select('SELECT * FROM note WHERE userid = :userid AND noteid = :noteid', 
                array('userid' => $_SESSION['userid'], 'noteid' => $noteid));
        }
        
        public function NotOlustur($data)
        {
            $this->db->insert('note', array(
                'title' => $data['title'],
                'userid' => $_SESSION['userid'],
                'content' => $data['content'],
                'date_added' => date('Y-m-d H:i:s') // use GMT aka UTC 0:00
            ));
        }
        
        public function NotKaydet($data)
        {
            $postData = array(
                'title' => $data['title'],
                'content' => $data['content'],
            );
            
            $this->db->update('note', $postData, 
                    "`noteid` = '{$data['noteid']}' AND userid = '{$_SESSION['userid']}'");
        }
        
        public function NotSil ($id)
        {
            $this->db->delete('note', "`noteid` = {$data['noteid']} AND userid = '{$_SESSION['userid']}'");
        }
    }
    bu pdo klasıma entegre edeceğim ama her methodumda farklı bir hata alıyorum. ne önerirsiniz ?

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 14:51:11 -->-> Daha önceki mesaj 14:28:09 --

    Fatal error: Using $this when not in object context in E:\localhost\htdocs\models\index_model.php on line 10

    10 satir $this-> ile başlayan ; $sth = $this->db->prepare("SELECT userid, role FROM user WHERE
    login = :login AND password = assword");
    $sth->execute(array(
    ':login' => $_POST['login'],
    'assword' => Hash::create('sha256', $_POST['password'], HASH_PASSWORD_KEY)
    ));

    $data = $sth->fetch();

    $count = $sth->rowCount();