PDA

View Full Version : سوال: اضافه کردن مقدار 001 به بالا در ادامه کد محصول



Fartaj
جمعه 20 تیر 1393, 13:41 عصر
سلام خدمت دوستان

من تو ثبت محصول یک کد محصول غیر از آی دی دارم که ترکیبی از کد گروه (گروهی که محصول توی اون قرار داره ) + کد زیر گروه + یک کد 3 رقمی که از 001 شروع می شه

حالا تو اون کدهای اول که مشکلی نیست مشکل اصلی همون 001 هست من اومدم گفتم موقع ثبت محصول آخرین رکورد محصول رو انتخاب کن کدش رو بگیر 3 رقم آخر رو جدا کن بهش اضافه کن



نمونه کد محصول : 100011015001

001
002
003
.
.
010
.
.
100


$prcode = "";
$pcnew = "001";

if(!empty($pr)){
$prcode = $pr['Product']['ProductCode'];
if($prcode != "" ){

if(strlen($prcode) == 12){
$cp = substr($prcode, 9, 3);
echo $cp;
}
}

}

$pcode = $username.$gcode.$scode.$pcnew;

$this->request->data['Product']['ProductCode'] = $pcode;



من الان سه رقم آخر محصول قبلی رو جدا کردم حالا می خوام بهش اضافه کنم این قسمت رو موندم چجوری از 001 شروع کنم به بالا ؟

foreach
جمعه 20 تیر 1393, 15:32 عصر
تست کنید




$a = 000;


for($i=1; $i<= 100;$i++)
{
++$a;
echo str_pad($a,3,'0',STR_PAD_LEFT) . '<br>';
}

Fartaj
جمعه 20 تیر 1393, 16:17 عصر
نه متعصفانه درست کار نمی کنه



$prcode = "";
$pcnew = "001";

if(!empty($pr)){
$prcode = $pr['Product']['ProductCode'];
if($prcode != "" ){

if(strlen($prcode) == 12){
$pcnew = substr($prcode, 9, 3);

for($i=1; $i<= 999;$i++)
{
++$pcnew;
str_pad($pcnew,3,'0',STR_PAD_LEFT) . '';
}


}
}

}

$pcode = $username.$gcode.$scode.$pcnew;



من از 001 می خوام شروع کنم تا 999 منتها مقداری که قراره ++ بشه رو از سه رقم آخر محصول قبلی می گیرم اما الان فقط 000 آخر کد می خوره نمی دونم شاید کد من ایراد داره
الان اون سه رقم آخر کد آخرین محصول درست جدا می شه مثلا اگه کد محصول این باشه : 100011015001 الان 001 جدا می شه میاد تو $pcnew حالا می خوام بشه 002 بره ادامه کد محصول جدید

H:Shojaei
جمعه 20 تیر 1393, 16:41 عصر
سلام
کد درسته من عدد گذاشتم نتیجش رو ببینید چی میشه:


$prcode = "fds";

$pcnew = "001";


if(!empty($prcode)){

$prcode = "174435111001";

if($prcode != ""){

echo strlen($prcode);

if(strlen($prcode) == 12){

$pcnew = substr($prcode, 9, 3);
for($i=1; $i<= 999;$i++)

{

echo ++$pcnew.'<br>';

echo str_pad($pcnew,3,'0',STR_PAD_LEFT) . ''.'<br>';

}

}

}

}