sonsonz
(Sonsonz)
January 19, 2011, 7:05am
1
Para Master2, tolong dunk, ane ada kesulitan neh
pas mo get field name pakai findBySql or findAllBySql
gimana yah cara dapetin max_counter ??
ini codenya
$sql = "SELECT
max( SUBSTRING_INDEX(itemCode, '', -1 ) - 0 ) AS max_counter
FROM tbl_item
where itemCode like ':str_left%' ";
$modelItem=Item::model()->findBySql($sql,array(':str_left'=>$str_left));
Thanks sebelumnya
aqge
(Programmer Riau)
January 19, 2011, 10:01am
2
Para Master2, tolong dunk, ane ada kesulitan neh
pas mo get field name pakai findBySql or findAllBySql
gimana yah cara dapetin max_counter ??
ini codenya
$sql = "SELECT
max( SUBSTRING_INDEX(itemCode, '', -1 ) - 0 ) AS max_counter
FROM tbl_item
where itemCode like ':str_left%' ";
$modelItem=Item::model()->findBySql($sql,array(':str_left'=>$str_left));
Thanks sebelumnya
maaf gan ane masih kurang paham dengan sql -nya, kok sebelum di max di kurang dulu ya… emamnga contoh isi dari itemCode itu bgmn?
trus selema ini hasil yang keluar apa tuh?
nasrul
(Nasrul Hamid)
January 19, 2011, 7:02pm
3
gimana yah cara dapetin max_counter ??
ini codenya
$sql = "SELECT
max( SUBSTRING_INDEX(itemCode, '', -1 ) - 0 ) AS max_counter
FROM tbl_item
where itemCode like ':str_left%' ";
$modelItem=Item::model()->findBySql($sql,array(':str_left'=>$str_left));
Thanks sebelumnya
kalau $modelItem[‘max_counter’] gimana gan?
sonsonz
(Sonsonz)
January 20, 2011, 7:51am
4
aqge:
maaf gan ane masih kurang paham dengan sql -nya, kok sebelum di max di kurang dulu ya… emamnga contoh isi dari itemCode itu bgmn?
trus selema ini hasil yang keluar apa tuh?
Contoh value dari
itemCode = ‘DC0001’,‘DC0002’,‘DC0003’
$str_left = ‘DC’
jadi nanti isi dari max_counter = 4;
itu fungsinya untuk mendapatkan nilai max dari suatu field. biasanya untuk penomoran (gabung string and numeric)
kalau pakai $itemCode[‘max_counter’] gak bisa tu gan, field tidak diketahui
di ar pas di print_r gak ada field max_counter. aneh juga sih.
apa benar ya findBySql gak bisa baca jika field namenya di alias (as) ??
aqge
(Programmer Riau)
January 20, 2011, 8:57am
5
Contoh value dari
itemCode = ‘DC0001’,‘DC0002’,‘DC0003’
$str_left = ‘DC’
jadi nanti isi dari max_counter = 4;
itu fungsinya untuk mendapatkan nilai max dari suatu field. biasanya untuk penomoran (gabung string and numeric)
kalau pakai $itemCode[‘max_counter’] gak bisa tu gan, field tidak diketahui
di ar pas di print_r gak ada field max_counter. aneh juga sih.
apa benar ya findBySql gak bisa baca jika field namenya di alias (as) ??
itemCode = ‘DC0001’,‘DC0002’,‘DC0003’
maksudnya
|itemCode |
|‘DC0001’ |
|‘DC0002’ |
|‘DC0003’ | gini gan?
kenapa tidak pake right( length() ), apa ini memberi hasil yang sama dengan substring_index ‘’, kayaknya tidak deh gan apalagi -1 itu kan cari dari belakang sampai ketemu ‘’ <— padahal ini hanya karakter terakhir kan gan…
mudah mudahan bisa nih kalo , gak bisa tulung di benerin sendiri, tapi maksudnya begitu deh hehehe
$sql = "SELECT
ifnull( max( right( itemCode, length(itemCode)-2 ) ) + 1, 1 ) AS max_counter
FROM tbl_item
where itemCode like ':str_left%' ";
$modelItem=Item::model()->findBySql($sql,array(':str_left'=>$str_left));
sonsonz
(Sonsonz)
January 20, 2011, 9:21am
6
Betul juga ya gan, pake right bisa ternyata
$sql = "SELECT
max(substr(itemCode,3,5)-0) as max_counter AS max_counter
FROM tbl_item
where itemCode like ':str_left%' ";
contohnya gini : kita buat code barang begini
| itemCode | itemName |
| AM0001 | APPLE MacBook XX1 |
| AM0002 | APPLE Macbook CCX |
| AM0003 | APPLE MacBook DDX |
| DE0001 | DELL PowerEdge XXX|
sonsonz
(Sonsonz)
January 20, 2011, 10:14am
7
Sudah berhasil setelah upgrade pake Yii FW 1.1.6 pake query builder … ^^
Thanks bang aqge