Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > Yii Framework CGridView filter ต้องการทำจากปกติ where LIKE '%NO%' เป็น where LIKE 'NO' ไม่มี %



 

Yii Framework CGridView filter ต้องการทำจากปกติ where LIKE '%NO%' เป็น where LIKE 'NO' ไม่มี %

 



Topic : 108893



โพสกระทู้ ( 52 )
บทความ ( 0 )



สถานะออฟไลน์




CGridView filter ต้องการทำจากปกติ
where LIKE '%NO%' เป็น where LIKE 'NO' ไม่มี % ทำยังไงครับ
ปัญหาเกิดจาก CGridView filter ช่องค้นหาในคอลัมภ์ 'customerCode' ผมทำเป็น Dropdown ตามข้อมูลจริงแล้ว
สมมุติข้อมูลจริงใน Dropdown คือ
'customerCode'
1 NO
2 NOB
3 NOP
4 MON
เวลาเลือก NO ผมต้องการเฉพาะ NO อย่างเดียว แต่มันจะได้ Record ของ NOB กับ NOP มาด้วยต้องแก้ยังไงครับ

Code (PHP)
    $this->widget('zii.widgets.grid.CGridView', array(
        'id'=>'pre-invoice-grid',
        'dataProvider'=>$model->search(),
        'filter'=>$model,
        'selectableRows'=>2, //ให้เลือกได้หลาย ๆ รายการพร้อมกัน และมีส่วนของการ Check All ได้ด้วย
        'columns'=>array(
            array(
                'class'=>'CCheckBoxColumn', //กำหนดให้แสดง CheckBox Component ลงไป พร้อมกำหนดชื่อได้ด้วย
                'id'=>'ids'
            ),
            array(
                'name'=>'pre_Invoice_ID',
                'htmlOptions'=>array('width'=>'50px'),
            ),
            array(
                'name'=>'trunk',  //'header'=>'Head',
                'filter'=>CHtml::dropDownList('PreInvoice[trunk]', 
                    isset($getForm['trunk']) ? $getForm['trunk'] : '', 
                    array('S'=>'S', 'E'=>'E', 'A'=>'A'),array('empty' => '')
                ),'htmlOptions'=>array('width'=>'50px'),
            ),
            array(
                'name'=>'customerCode', //'header'=>'Head',
                'filter'=>CHtml::dropDownList('PreInvoice[customerCode]', 
                    isset($getForm['customerCode']) ? $getForm['customerCode'] : '',
                    CHtml::listData(
                        PreInvoice::model()->findAll(       // Source
                            array(
                                'select'=>array('customerCode'),
                                'distinct'=>true,
                                'order'=>'customerCode',
                            )
                        ),'customerCode', 'customerCode'    // Attribute of Tag OPTION 'value' & 'Display'
                    ),array('empty'=>'')
                ),
            ),
            array(
                'name'=>'amount',
                'htmlOptions'=>array('style'=>'text-align:right;'),
                'footer'=>'Total: '.$model->getTotal($model->search()->getData(), 'amount'),
                'footerHtmlOptions'=>array('style'=>'text-align:right;', 'class'=>'amount-total'),
            ),
            array(
                'name'=>'importDate', //'header'=>'Head',
                'filter'=>CHtml::dropDownList('PreInvoice[importDate]', 
                    isset($getForm['importDate']) ? $getForm['importDate'] : '',
                    CHtml::listData(
                        PreInvoice::model()->findAll(       // Source
                            array(
                                'select'=>array('importDate'),
                                'distinct'=>true,
                                'order'=>'importDate',
                            )
                        ),'importDate', 'importDate'    // Attribute of Tag OPTION 'value' & 'Display'
                    ),array('empty'=>'')
                ),
            ),
            array(
                'class'=>'CButtonColumn',
                'header'=>CHtml::link('Reset', array('')),
            ),
        ),
    ));

ปล.แอบทำใจเผื่อล่วงหน้า รู้สึกว่าที่นี่คนยังใช้ Yii น้อยใช่รึเปล่าครับ เห็นมีแต่หัวข้อบทความแต่ยังไม่มีเนื้อหา



Tag : PHP, Yii PHP Framework







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2014-06-04 19:58:12 By : Giguntic View : 1368 Reply : 3
 

 

No. 1



โพสกระทู้ ( 1,666 )
บทความ ( 0 )



สถานะออฟไลน์


แล้วจะไป Like ทำใมหละครับคิดมากเกินไปแล้ว

กรณนี้เค้าเรียก เท่ากับนะ =






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-04 21:20:39 By : meannerss
 


 

No. 2



โพสกระทู้ ( 52 )
บทความ ( 0 )



สถานะออฟไลน์


พอดีมันเป็น Widget ของ cGridView ใน Yii หน่ะครับ ผมไม่ต้องใส่ SQL ใดๆเลย มันทำให้เองเสร็จหมด
ตัวอย่างตาม Link Demo และโค๊ดก็เหมือนในตย.เดโมเลย สั้นและง่ายมั๊กมาาาก จับแล้วติดใจ
แต่เพิ่งมาลองเลย Custom filter Search มันไม่เป็นครับ
http://www.yiiplayground.com/index.php?r=UiModule/dataview/gridView
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-04 21:48:00 By : Giguntic
 

 

No. 3



โพสกระทู้ ( 52 )
บทความ ( 0 )



สถานะออฟไลน์


ทำได้แระ http://www.yiiframework.com/doc/api/1.1/CDbCriteria#compare-detail
ไปแก้ใน Model > Method Search

Code (PHP)
compare(string $column, mixed $value, boolean $partialMatch=false, string $operator='AND', boolean $escape=true)

$partialMatch boolean whether the value should consider partial text match (using LIKE and NOT LIKE operators). Defaults to false, meaning exact comparison.

$escape boolean whether the value should be escaped if $partialMatch is true and the value contains characters % or _. When this parameter is true (default), the special characters % (matches 0 or more characters) and _ (matches a single character) will be escaped, and the value will be surrounded with a % character on both ends. When this parameter is false, the value will be directly used for matching without any change.

$partialMatch เปลี่ยนจาก True เป็น False ก็จะไม่ใช้ % แล้ว
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2014-06-07 16:00:23 By : Giguntic
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : Yii Framework CGridView filter ต้องการทำจากปกติ where LIKE '%NO%' เป็น where LIKE 'NO' ไม่มี %
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่