Codeigniter db class ile verinin kaçıncı sırada olduğu belirlemek için ufak bir fonksiyon yazdım fakat hata aldım.
function get_video_promo($cat_sef_uri,$video_sef_uri){
$query = $this->db->set('@videos.video_id:',0);
//saydırma işlemeni video_id 'ye göre yapacam. o yüzden ilk önce video_id sıfırladım.
//daha sonra aşağıdaki gibi +1 şeklinde artırarak gittim.
$query = $this->db->select('@videos.video_id := @videos.video_id+1 AS sira,videos.category_id,videos.season_id,videos.sef_uri')
->from('videos')
->join('categories','videos.category_id = categories.cat_id','LEFT')
->where('videos.sef_uri',$video_sef_uri)
->where('categories.sef_uri',$cat_sef_uri)
->order_by('videos.sef_uri+0','asc');
if($query->num_rows() > 0)
{
$data = $query->result_array();
return $data;
}
}sanırım birkaç hata var o yüzden kod bu class ta saglıklı çalışmadı.
localhost ta codeigniter classı olmadan çalıştırdım ama bu class ta çalışmadı.
Normal db class olmadan hali bu çalışıyor. ama codeingniter a çeviremedim.
$sorgu=mysql_query("Set @videos.video_id:=0");
$sorgu=mysql_query("Select
@videos.video_id := @videos.video_id+1 AS sira,videos.category_id,videos.season_id,videos.sef_uri
FROM videos
INNER JOIN categories ON videos.category_id=categories.cat_id WHERE videos.sef_uri=categories.sef_uri
ORDER BY videos.sef_uri+0 asc");
while($db = mysql_fetch_array($sorgu)) {
echo $db['title'].' sıralamada: <b>'.$db['sira'].'.</b> sırada bulunuyor<br>';
}