.fatemeh
شنبه 17 تیر 1391, 10:49 صبح
سلام.
اول توضیح بدم:
فرض کنید محصولی به نام f وجود داره کاربر برای بار اول این محصول رو می خره.
برای بار دوم هم همین محصول رو می خره ولی با رنگ و جزییات متفاوت از خرید اولش.
یعنی خرید اول ودوم فرق داره.
من برای اینکه خریدهارو ثبت کنم،اومدم سشن f رو تعریف کردم.برای هر بار خرید هم یه عدد تصادفی
به نام id_ch تولید میشه که سشن ها منطبق نشن. که توی foreach همون d$ می شه.
حالا اگه کاربر n بار محصول f رو خرید کنه n-1 بار توی دیتابیس ذخیره می شه.
اینم کد:
if(isset($_SESSION['f']) && count($_SESSION['f'])!=0)
{for($j=0;$j<=count($_SESSION['f'])+1;$j++){$r=insertdata(f,$rah);}}
function insertdata($k,$rah){
date_default_timezone_set('Asia/Tehran');
$day_number = jdate('d');
$month_number = jdate('m');
$year_number = jdate('y');
$time='13'.$year_number."/".$month_number."/".$day_number;
if(isset($_SESSION[$k]) && count($_SESSION[$k]!=0)){
foreach($_SESSION[$k] as $d=>$b)
{
$t=$_SESSION[$k][$d][0];
$id=$_SESSION[$k][$d][1];
$size=$_SESSION[$k][$d][2];
$num=$_SESSION[$k][$d][3];
$color=$_SESSION[$k][$d][4];
$ch=$_SESSION[$k][$d][5];
$q=ثبت در دیتابیس;
if($q){unset($_SESSION[$k][$d]);return(1);}
else {return(0);}
}}//end of for & if
}
تازه اگر اونfor($j=0;$j<=count($_SESSION['f'])+1;$j++) رو در فراخوانی تابع
بردارم فقط یه بار عملیات ثبت انجام می شه.
نمی دونم مشکلش چیه .
به نظرم foreach باید تاانتها عملیات رو انجام بده دیگه!!:متفکر:
دوستان ممنون می شم کمک کنید.
خودم دیگه گیج شدم.
اول توضیح بدم:
فرض کنید محصولی به نام f وجود داره کاربر برای بار اول این محصول رو می خره.
برای بار دوم هم همین محصول رو می خره ولی با رنگ و جزییات متفاوت از خرید اولش.
یعنی خرید اول ودوم فرق داره.
من برای اینکه خریدهارو ثبت کنم،اومدم سشن f رو تعریف کردم.برای هر بار خرید هم یه عدد تصادفی
به نام id_ch تولید میشه که سشن ها منطبق نشن. که توی foreach همون d$ می شه.
حالا اگه کاربر n بار محصول f رو خرید کنه n-1 بار توی دیتابیس ذخیره می شه.
اینم کد:
if(isset($_SESSION['f']) && count($_SESSION['f'])!=0)
{for($j=0;$j<=count($_SESSION['f'])+1;$j++){$r=insertdata(f,$rah);}}
function insertdata($k,$rah){
date_default_timezone_set('Asia/Tehran');
$day_number = jdate('d');
$month_number = jdate('m');
$year_number = jdate('y');
$time='13'.$year_number."/".$month_number."/".$day_number;
if(isset($_SESSION[$k]) && count($_SESSION[$k]!=0)){
foreach($_SESSION[$k] as $d=>$b)
{
$t=$_SESSION[$k][$d][0];
$id=$_SESSION[$k][$d][1];
$size=$_SESSION[$k][$d][2];
$num=$_SESSION[$k][$d][3];
$color=$_SESSION[$k][$d][4];
$ch=$_SESSION[$k][$d][5];
$q=ثبت در دیتابیس;
if($q){unset($_SESSION[$k][$d]);return(1);}
else {return(0);}
}}//end of for & if
}
تازه اگر اونfor($j=0;$j<=count($_SESSION['f'])+1;$j++) رو در فراخوانی تابع
بردارم فقط یه بار عملیات ثبت انجام می شه.
نمی دونم مشکلش چیه .
به نظرم foreach باید تاانتها عملیات رو انجام بده دیگه!!:متفکر:
دوستان ممنون می شم کمک کنید.
خودم دیگه گیج شدم.