PDA

View Full Version : سبد خرید



imdeveloper
چهارشنبه 30 اردیبهشت 1394, 12:28 عصر
سلام
دنبال یه نمونه سورس برای سبد خرید با session هستم
کسی سراغ داره؟؟

123s0ran
چهارشنبه 30 اردیبهشت 1394, 13:40 عصر
سلام یعنی شما میخواید با ارسال یک شناسه به وسیله session لیست های خرید اون شناسه به دست بیارید یا همچین چیزی؟

imdeveloper
چهارشنبه 30 اردیبهشت 1394, 14:54 عصر
سلام
نه
میخوام وقتی کاربر روی دکمه افزودن به سبد خرید کلیک کرد اون محصول به سبد خرید کاربر اضافه بشه

maryammashkani
چهارشنبه 30 اردیبهشت 1394, 16:00 عصر
دو تا کلاس هست که براتون ضمیمه کردم
اینم کدی که موقعی که دکمه "اضافه به سبد خرید" رو کیلیک میکنید


add_sabad.add(Session["n"].ToString(), Convert.ToInt32(Session["id"]), Session["ma"].ToString(), Session["mo"].ToString(), Convert.ToInt32(txttedad.Text), Convert.ToInt32(Session["p"]));

maryammashkani
چهارشنبه 30 اردیبهشت 1394, 16:01 عصر
البته من ارگومان های کلاس رو هم از سشن گرفتم مثل session["n"] یا session ["id"] ،شما میتونید از تکست باکس یا هر چیز دیگه ای هم بگیرید

maryammashkani
چهارشنبه 30 اردیبهشت 1394, 16:03 عصر
اینم برای تایید نهایی یعنی وقتی خرید کاربر تموم شده و میخاین سبد خرید تو بانک ذخیره بشه


create_table ct = new create_table();
ct.dt = (DataTable)HttpContext.Current.Session["sabad"];
SqlConnection con = new SqlConnection(@"server=MARYAM-PC\SQLEXPRESS;database=master;integrated security=true;");
SqlDataAdapter dap = new SqlDataAdapter("select * from sabad", con);
DataSet ds = new DataSet();
dap.Fill(ds, "bb");
SqlCommandBuilder cmdBldr = new SqlCommandBuilder(dap);
ds.Tables["bb"].Clear();
for (int j = 0; j <= ct.dt.Rows.Count - 1; j++)
{
DataRow drc = ct.dt.Rows[j];
DataRow dr = ds.Tables["bb"].NewRow();
dr[0] = Convert.ToInt32(drc[0]);
dr[1] = Convert.ToString(drc[1]);
dr[2] = Convert.ToInt32(drc[2]);
dr[3] = Convert.ToString(drc[3]);
dr[4] = Convert.ToString(drc[4]);
dr[5] = Convert.ToInt32(drc[5]);
dr[6] = Convert.ToInt32(drc[6]);
dr[7] = 1;
dr[8] = DateTime.Now.ToString();
ds.Tables["bb"].Rows.Add(dr);
}
dap.Update(ds, "bb");

imdeveloper
چهارشنبه 30 اردیبهشت 1394, 16:29 عصر
ممنون ازتون
میشه یه کم توضیح بدین راجبه کدی که نوشتین

maryammashkani
چهارشنبه 30 اردیبهشت 1394, 18:50 عصر
ابتدا کلاسcreate_table یه جدول از نوع دیتا تیبل میسازه که فیلدهایی که میخاین تو سبد خرید باشه رو میسازه(شما به دلخواه میتونین کم و زیادش کنید)
1-بعد کلاس add_sabad رکوردها رو(یعنی همون موارد انتخابی) به این جدول اضافه میکنه .
تو این قسمت یه نمونه از کلاس create_table ایجاد میکنه


create_table ct = new create_table();
ct.dt=(DataTable) HttpContext.Current.Session["sabad"];


2-در این قسمت اگه کالایی رو برای بار دوم یا چندم انتخاب کنید ، بجای درج رکورد جدید فقط به تعداد اون اضافه میکنه(چون این پروژه خرید انلاین بوده اگه کاربر یک کالا رو برای بار چنذم انتخاب کنه فقط به تعداد خرید اضافه میشه)


for (int j = 0; j <= ct.dt.Rows.Count - 1; j++)
{
DataRow dr = ct.dt.Rows[j];
if ((dr["name"].ToString() == name) && (Convert.ToInt32(dr["kalaid"]) == kalaid))
{
m = true;
dr["tedad"] = Convert.ToInt32(dr["tedad"]) + tedad;
}
}

3- اگر با اولی بود که این کالا انتخاب میشه به سبد خرید اضافش میکنه


if (m == false)
{
DataRow dr2 =ct.dt.NewRow();
dr2["kalaid"] = kalaid;
dr2["name"] = name;
dr2["subgroupmain"] =subgroupmain;
dr2["subgroupfarei1"] = subgroupfarei1;
dr2["subgroupfarei2"] = subgroupfarei2;
dr2["mark"]=mark;
dr2["pay"] = pay;
dr2["tedad"] = tedad;
dr2["totalpay"] = tedad*pay;
ct.dt.Rows.Add(dr2);
}


4-حالا برای انتقال راحتتر دیتاتیبل بین صفحات اونو توی یه session میریزه



HttpContext.Current.Session["sabad"] = ct.dt;

imdeveloper
جمعه 01 خرداد 1394, 15:38 عصر
سلام
شرمنده همین کدی که دادین رو کاملش رو ندارین؟؟
یه کم اینجا قاطی پاتی شده نمیدونم کدوم کد رو کجا باید بنویسم
یا اگر نمونه دیگه ای دارین بدین

ممنون

maryammashkani
جمعه 01 خرداد 1394, 20:19 عصر
پروژه کامل رو اینجا اپلود نمیکنه، ایمیلتون رو بگین تا براتون ارسالش کنم

imdeveloper
جمعه 01 خرداد 1394, 21:11 عصر
tehraniam@mailfa.ir

imdeveloper
شنبه 02 خرداد 1394, 00:24 صبح
شرمنده ایمیل رو اشتباه دادم
ایمیلم اینه : tehraniam@mihanmail.ir

maryammashkani
شنبه 02 خرداد 1394, 19:18 عصر
شرمنده دیر شد
الان ارسال کردم

amir_T_2008
شنبه 02 خرداد 1394, 19:42 عصر
دوستان لطفا تو آپلودسنتر آپلود کنید تا کسایی که احتیاج دارن دانلود کنن

ممنون

maryammashkani
شنبه 02 خرداد 1394, 22:43 عصر
دوست عزیز میشه بگین چطوری تو اپلود سنتر بزارم، هر وقت خاستم اینکار رو بکنم نا موفق بوده

Mousavmousab
شنبه 02 خرداد 1394, 23:26 عصر
چرا سبد خرید را با Session پیاده سازی نمی کنید؟

از دیتابیس استفاده کنید و به صورت Ajaxی بنویسید.
هم performance سایت را پایین نمیاره (با تعداد کاربرای زیاد) و هم اینکه امرز رزرو کنه می تونه فردا ، پس فردا ، یه ماه دیگه ، هرموقع که دوست داشت خریدو به پایان برسونه

imdeveloper
یک شنبه 03 خرداد 1394, 00:42 صبح
سلامی مجدد
من دقیقا دنبال سبد خریدی هستم که وقتی روی دکمه ی افزودن به سبد خرید هر محصول کلیک کردیم اون محصول به سبد خرید اضافه بشه (با استفاده از session و datatable و ...)
و میخوام وقتی خریدش رو نهایی کرد توی دیتابیس ذخیره بشه


شرمنده یه سوال من هنوز سورسی که شما دادین رو بررسی نکردم . با session هست؟؟

amir_T_2008
یک شنبه 03 خرداد 1394, 02:21 صبح
دوست عزیز میشه بگین چطوری تو اپلود سنتر بزارم، هر وقت خاستم اینکار رو بکنم نا موفق بوده

دوست عزیز وارد شما 2 راه دارید اولی وارد سایت rodfile.com بشید و اونجا آپلود کنید و لینکشو بذارید اینجا و اینکه اگر میخواید تو این سایت آپلود کنید کافیه به حالت پیشرفته برید و تو قسمت ضمیمه آپلود کنید و اونوقت اینجا قرار میگیره

مرسی و موفق باشید

maryammashkani
یک شنبه 03 خرداد 1394, 07:51 صبح
بله ، دیتاتیبل رو داخل session ذخیره میکنه

maryammashkani
یک شنبه 03 خرداد 1394, 07:55 صبح
آقای amir میخاستم اینجا آپلودش کنم ولی پیام دادم سایز فایل پیوستی زیاده
اینم لینکش
http://www.rodfile.com/mg3lbgtk8p3t

maryammashkani
یک شنبه 03 خرداد 1394, 07:58 صبح
http://e_shop1.rar - 1.2 MB (http://www.rodfile.com/mg3lbgtk8p3t)