نمایش نتایج 1 تا 7 از 7

نام تاپیک: استفاده از active record یا کوئری

  1. #1
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    استفاده از active record یا کوئری

    سلام . من همیشه از active record در CI استفاده میکنم . اما الان تو این کوئری خاص نمیدونم چطور ازش استفاده کنم :

    SELECT SUBSTR(newdate, 1, 4) as year FROM (`m_article`)


    اینطور استفاده کردم ولی جواب نداد :
    model:

    public function fetch_tb($tb,$filde,$where=NULL){
    $this->db->select($filde);
    if(!is_null($where)){
    $this->db->where($where);
    }
    $result = $this->db->get($tb);
    return $result;
    }


    controller:

    public function select_section(){
    $field="SUBSTRING(newdate, 1, 4) as year";
    $data['res']=$this->article_model->fetch_tb('m_article',$field);
    $this->_out('admin','article','res',$data);
    }


    view:


    foreach($res as $v){ echo $v->year,'<br>';}

    خطایی که میده اینه :
    Error Number: 1064
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'as year FROM (`m_article`) ORDER BY `id` ASC' at line 1
    SELECT SUBSTR(newdate, `1`, `4)` as year FROM (`m_article`) ORDER BY `id` ASC
    Filename: C:\xampp\htdocs\mysite\m-blog\system\database\DB_driver.php
    Line Number: 330
    آخرین ویرایش به وسیله pary_daryayi : شنبه 10 خرداد 1393 در 12:03 عصر

  2. #2
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: استفاده از active record یا کوئری

    اینو تست کن
    $this->db->select(" SUBSTR(newdate, 1, 4) as year " ) ;
    $this->db->from('m_article');
    $result= $this->db->get();

  3. #3
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: استفاده از active record یا کوئری

    ممنونم / دوباره همون خطا رو میده
    عکس های ضمیمه عکس های ضمیمه

  4. #4
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: استفاده از active record یا کوئری

    اینجوری بنویس


    $this->db->select(" SUBSTR(newdate, 1, 4) as year " ,  FALSE  ) ;

  5. #5
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: استفاده از active record یا کوئری

    ممنونم .. تا اینجا جواب داد . دو سلکت انجام دادم :

    $this->db->select("SUBSTR(newdate, 1, 4) as year ",FALSE) ;$this->db->select("SUBSTR(newdate, 6, 2) as month",FALSE) ;


    حالا این رو که اضافه میکنم باز خطا میده :

    $this->db->select("SUBSTR(newdate, 1, 4) as year ",FALSE) ;$this->db->select("SUBSTR(newdate, 6, 2) as month",FALSE) ;$this->db->group_by(" SUBSTR(newdate, 1, 7) " ,FALSE);

    بدون false هم امتحان کردم :
    انگار یک کاراکتر اضافه قبل از order by ایجاد میشه :
    SELECT SUBSTR(newdate, 1, 4) as year, SUBSTR(newdate, 6, 2) as month FROM (`m_article`) GROUP BY SUBSTR(newdate, `1`, `7)` ORDER BY `id` ASC
    این کوئری رو میخوام ایجاد کنم:

    SELECT SUBSTRING(newdate, 1, 4) as `year`,SUBSTRING(newdate, 6, 2) as `month`,count(*) as `count` FROM m_article group by SUBSTRING(newdate, 1, 7)

    سرچ کردم اینجا هم به همین شکل تقریبا نوشته :

  6. #6
    کاربر دائمی آواتار plague
    تاریخ عضویت
    آبان 1388
    محل زندگی
    اهواز
    پست
    2,360

    نقل قول: استفاده از active record یا کوئری

    خب معلومه که بدون fals نباید بزاری و اررور میده !

    من عین این کوئری رو روی تیبل خودم اجرا کردم بدون مشکل سال رو به من داد


    $this->db->select("SUBSTR(submit_date, 1, 4) as year ",FALSE) ;
    $this->db->select("SUBSTR(submit_date, 6, 2) as month",FALSE) ;
    $this->db->group_by(" SUBSTR(submit_date, 1, 7) " ,FALSE);
    $res = $this->db->get('users');


    ولی در کل این کوئری اشتباهه کلا اگه میخای ماه و سال رو بخونی راه های خیلی ساده تری هست (اگه فیلد تاریخت از نوع timestamp باشه )

    مثلا

                $this->db->select("YEAR(submit_date) as  year ",FALSE) ;
    $this->db->select("MONTH(submit_date) as month",FALSE) ;

  7. #7
    کاربر دائمی آواتار pary_daryayi
    تاریخ عضویت
    آذر 1391
    محل زندگی
    گرگان
    پست
    375

    نقل قول: استفاده از active record یا کوئری

    ممنونم . منم مثل شما نوشتم ولی یک کاراکتر اضافه تولید میشه و خطا میده :


    $this->db->select("SUBSTR(newdate, 1, 4) as year ",FALSE) ;
    $this->db->select("SUBSTR(newdate, 6, 2) as month",FALSE) ;
    $this->db->group_by(" SUBSTR(newdate, 1, 7) ",FALSE);
    $result= $this->db->get('article');



    فکر کنم بهتر باشه کوئری بنویسم .

تاپیک های مشابه

  1. سوال: استفاده از reportviewer با یک کوئری خاص؟
    نوشته شده توسط sajadjamalian در بخش ابزارهای گزارش سازی
    پاسخ: 12
    آخرین پست: دوشنبه 16 آذر 1394, 14:28 عصر
  2. پاسخ: 0
    آخرین پست: یک شنبه 05 تیر 1390, 15:13 عصر
  3. مشکل در استفاده از اجاکس و جی کوئری به صورت همزمان
    نوشته شده توسط p30rex در بخش JavaScript و Framework های مبتنی بر آن
    پاسخ: 0
    آخرین پست: پنج شنبه 01 مهر 1389, 13:33 عصر
  4. مجبور کردن کاربران شبکه برای استفاده از Active Directory
    نوشته شده توسط Hamid_770 در بخش شبکه و Networking‌
    پاسخ: 3
    آخرین پست: چهارشنبه 31 تیر 1388, 12:26 عصر
  5. استفاده از active x در asp.net 2
    نوشته شده توسط nemesis2005 در بخش ASP.NET Web Forms
    پاسخ: 0
    آخرین پست: یک شنبه 07 آبان 1385, 21:21 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •