PDA

View Full Version : سوال: راه منطقی نوشتن سبد خرید با چند نوع محصول ؟



marys_farahani
پنج شنبه 15 خرداد 1393, 16:28 عصر
سلام خسته نباشید.

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


من یه فروشگاه دارم مینویسم که اول فقط فروش بازی بود من هم یه جدول برای ذخیره بازی ها ایجاد کردم مشکلی هم نداره به راحتی به سبد خرید اضافه میشه

مشکل از جایی شروع شد که سفارش دهنده خواست علاوه بر فروش بازی فروش کارتون هم بزاره


اما فیلد های جدول و خصوصیات کارتون با بازی خیلی فرق میکنه
حالا من سر دو راهی موندم که ایا باید هردوشون در یک جدول ذخیره بشن
یا در دو جدول متفاوت


اگه در دو جدول جطوری سبد خریدم بفهمه که این از کدوم جدوله یعنی خیلی کوئری هاش زیاد میشه



به نظر شما راه منطفی و عقلانیش کدومه ؟؟؟؟؟

rezakho
پنج شنبه 15 خرداد 1393, 17:39 عصر
راه درست تر استفاده از ساختارهای پیچیده تر و دینامیک هست

مثلا

شما جدولی برای دسته بندی محصولات مثل کارتون، فیلم، بازی، ... داشته باشید، در جدول دیگه فیلدهای مشترک بین همه محصولات مثل نام و قیمت و توضیحات و ... رو نگه دارید، و در جدول دیگه ای فیدهای غیر مشترک همه محصولات رو منتها به صورت رکورد نگه دارید و در جدول آخر، مقادیر هر فیلد مربوط به هر محصول رو!

یکم پیچیده هست!

hamzeh4u
پنج شنبه 15 خرداد 1393, 17:47 عصر
با سلام
یه سبد خرید خودم نوشتم که اصلا نگاه نمیکنه محصول چیه،هر چیزی باشه رو اضافه میکنه به بقیه
فقط یکم رو گرافیکش باید کار کنید
بدردتون میخوره؟
میگردم دنبالش
حدود سه سال پیش نوشتم....:لبخندساده:

MMSHFE
پنج شنبه 15 خرداد 1393, 18:15 عصر
از اونجا که سشن معمولاً با فایل کار میکنه و خیلی سریعه، میتونید برای اینکه خیلی سریع به جواب برسین، موقع اضافه کردن کالا به سبد خرید یک کد هم همراهش اضافه کنید. مثلاً برای بازی شماره 4 مقدار g4 توی سشن بیاد و برای کارتون شماره 4 مقدار c4 و بعد به راحتی با اولین حرف میفهمین که کدوم محصول سفارش داده شده. اگه تنوع محصولات زیاد شد هم میتونید با عدد کار کنید. مثلاً 4-25 یا 4-7 که مشخص کننده محصول شماره 4 از دسته شماره 25 یا دسته شماره 7 هست. برای محصولات هم میتونید دسته بندی (جدول categories) و فرضاً کد 25 مربوط به دسته بازیها و کد 7 مربوط به دسته کارتونها بشه. کار زیاد سختی نیست. اینطوری جدولهاتون هم شلوغ نمیشه. بعلاوه اگه اطلاعات محصولاتتون متفاوته، میتونید یک فیلد مشترک برای همه بگذارین به اسم info یا هر اسم دلخواه دیگه و مشخصات محصول رو بصورت serialize شده یا json_encode توی اون فیلد بگذارین. اینطوری همه محصولاتتون توی یک جدول میاد. موقع خوندن هم unserialize یا json_decode میکنید و به راحتی نشون میدین. برای اینکه بحث sql injection و... هم منتفی بشه میتونید از base64_encode موقع ذخیره سازی و از base64_decode موقع خوندن استفاده کنید.

mahmod2000
پنج شنبه 15 خرداد 1393, 18:50 عصر
serialize و json_encode که جناب شهرکی گفتن خیلی کاربردی هست.. تو پروژه های بزرگ خیلی به کار میاد.
میتونید بدون ساختن تعداد بالای فیلد توی جدول با استفاده از json_encode دیتاهای خودتون رو ذخیره کنید. البته برای یک سری کار های خاص انجام میشه و برای استفاده کردن ازش هم باید دقت کرد
و اینکه من تو یک پروژه ای که گروهی بود انجام دادیم، برای ذخیره کردن اسم و اطلاعات عکس ها از فایل XML استفاده میکردن که مثال میومدن برای هر آی دی پست یک فولدر میساختن و توش عکس ها قرار میگرفت و نام عکس توضیحات و... توی یک فایل XML در کنار عکس ها نگه داری میشد
اینجوری نیازی نبود برای عکس ها تیبل توی دیتابیس ایجاد بشه.
باهاش میشه گالری های خوب هم درست کرد :)

hamzeh4u
جمعه 16 خرداد 1393, 13:30 عصر
با سلام
همانطور که دوستان گفتن با سیشن خوب در میاد،
این ساختار بانک اطلاعاتی که پیاده سازی کردیم ،مشخص میکنه که چطور برنامه بنویسیم،پس موقع ساختن بانک باید تمام جوانب رو در نظر بگیریم.
فایل رو پیدا کردم
پ.خ شد

موفق باشید