PDA

View Full Version : ID یک محصول



amirferdowsi
یک شنبه 30 فروردین 1388, 10:25 صبح
سلام
من دارم برنامه نویسی یک سایت چند زبانه رو انجام می دم . در این سایت برای هر محصول به تعداد زبانهای سایت یک رکورد جدید در بانک اطلاعاتی ایجاد می گردد ( یعنی یک رکورد بای زبان فارسی ، یک رکورد برای زبان انگلیسی و ... ) ، میخواستم بدونم آیا راهی هست که سیستم برای هر محصول ID یکسان اختصاص دهد ؟ ( یعنی به رکوردهای فارسی ، انگلیسی و ... هر محصول یک ID اختصاص دهد)
مثل عمل Identity ولی نه برای هر رکورد یک ID جدید ، بلکه برای هر محصول یک ID.

ممنون میشم من رو در این زمینه راهنمایی بفرمائید .

iman_22a
یک شنبه 30 فروردین 1388, 16:01 عصر
برای هر محصول یک رکورد ثبت می کنین که 2 تا ستون مربوط به زبانهای دیگر هم بهش اضافه میشه . پس فقط همون یک رکورد برای هر محصول ثبت میشه ( و طبعا فقط یک ID )

amirferdowsi
یک شنبه 30 فروردین 1388, 16:56 عصر
برای هر محصول یک رکورد ثبت می کنین که 2 تا ستون مربوط به زبانهای دیگر هم بهش اضافه میشه . پس فقط همون یک رکورد برای هر محصول ثبت میشه ( و طبعا فقط یک ID )

سلام
دوست عزیز از توجهتون ممنونم
حالا یک سوال اگر ما برای محصولاتمون 10 فیلد در جدولمون داشته باشیم با این روش باید برای هر زبان 10 فیلد دیگه اضافه کنیم و اگه یک سایت 3 زبانه باشه باید 30 فیلد در جدولمون داشته باشیم. :افسرده:
فکر نکنم برای این کار این راه منطقی باشه ؟ :متفکر:

iman_22a
یک شنبه 30 فروردین 1388, 18:46 عصر
درسته ، به نظر من هم کمی غیر منطقی به نظر می رسه . یه راهش اینه که بسته به نوع کالاها برای هر نوع کالا یه جدول مشخصات داشته باشین . طوریکه موقع ثبت کالای جدید ، از جدول خصوصیات اون کالا ، فیلدهای مورد نظر رو ثبت کنین ( برای هر فیلد مشخصات یه رکورد توی جدول دیگه ای که اطلاعات کالا توی اون ریخته میشه ثبت میشه ) .
در این صورت در آینده می تونین مشخصات رو هم کم و زیاد کنین ...

موفق باشین

amirferdowsi
یک شنبه 30 فروردین 1388, 19:20 عصر
سلام
حالا اگر بخواهیم برای هر زبان یک رکورد جدید تو بانک اضافه کنیم و شناسه زبان رو توی جدول ذخیره کنیم . راهی هست که ID رکوردهای مرتبط به هم رو یکسان ذخیره کنیم ؟؟

iman_22a
یک شنبه 30 فروردین 1388, 19:35 عصر
سلام
حالا اگر بخواهیم برای هر زبان یک رکورد جدید تو بانک اضافه کنیم و شناسه زبان رو توی جدول ذخیره کنیم . راهی هست که ID رکوردهای مرتبط به هم رو یکسان ذخیره کنیم ؟؟

به نظرم میشه برای هر نوع مشخصه ، یه ستون گذاشت که نشون بده این ستون مربوط به چه زبانیه یا اینکه زبان براش مهم نیست . مثلا موقع ثبت مشخصه ، مشخص کنیم که این مشخصه فقط برای زبان انگلیسیه یا اینکه بین تمام اونا مشترکه .
برای لود شدن صفحه انگلیسی ، تمام مشخصات مختص به زبان انگلیسی و مشخصه های کلی رو نمایش بدیم .

amirferdowsi
دوشنبه 31 فروردین 1388, 12:27 عصر
سلام
دوست عزیز از پاسختون ممنونم ، ولی تا اینجای کار رو که میدونستم .:چشمک:
مشکل من اینه که چه جوری این رکوردهایی که مربوط به یک محصول هستند و فقط زبان محتوای آنها با هم فرق میکنه ID یکسان از سیستم بگیره .:متفکر:

باز هم از توجه و پاسختون ممنونم .:تشویق:

iman_22a
دوشنبه 31 فروردین 1388, 13:54 عصر
خوب موقعی که می خوای برای یک محصول مشخصات ثبت کنی ، اول محصول رو انتخاب می کنی و بعد شروع به ثبت مشخصه ها می کنی دیگه . وقتی انتخاب می کنی از یه جدول که محصولات ( اسم محصول ، کد محصول و ... ) توش ثبت شدن انتخاب می کنی . پس کد محصول رو داری و برای تمام مشخصه های مربوط به اون محصول این کد رو توی جدول مشخصات هم ثبت می کنی . بعدا یه Relation بین این دو جدول با همین کد بر قرار می کنی واسه روز مبادا :چشمک:

amirferdowsi
دوشنبه 31 فروردین 1388, 16:01 عصر
سلام
دوست عزیز فکر کنید من یک جدول با فیلدهای زیر دارم :

ProductID
LanguageID
ProductName
ProductPrice
ProductDescription

حالا من یک محصول به زبان فارسی و انگلیسی در این جدول وارد می کنم که برای هر زبان یک رکورد جدید اضافه می کنه یعنی هم نام ، قیمت و توضیحات را به زبان فارسی و انگلیسی در جدول ذخیره می کنه و ID هر زبان در فیلد LanguageID ذخیره خواهد شد ،
حالا من میخوام ProductID این دو رکورد یکی باشه :عصبانی++::گریه:

فکر کنم که این دفعه توضیح کاملی داده باشم .:چشمک:

iman_22a
دوشنبه 31 فروردین 1388, 16:23 عصر
:عصبانی++: خوب من هم از اول دارم همینو میگم . ببین :

شما 2 تا جدول داری (باید داشته باشی) . جدول اول فقط محصولات بدون مشخصات ( اسم مشخصات ، نه مقدار ) ( نام محصول ، کد محصول و مثلا یه ردیف AutoNumber ) . جدول دوم میشه همین ستونهایی که گذاشتی . که ردیف ProductID رو برای این جدول از جدول اول میخونی . همین ... :شیطان:

iman_22a
دوشنبه 31 فروردین 1388, 16:30 عصر
دسته بندی محصولاتت رو توی جدول اول با اضافه کردن کدگروه می تونی در نظر بگیری . برای ثبت مشخصات هم توی فرم ورود اطلاعات اول محصولت رو که قبلا توی جدول اول ثبت کردی انتخاب می کنی و بر اساس اون هر چند تا که می خوای اسم مشخصات ثبت می کنی ( مثلا 30 تا مشخصه برای دوربین فلان با کد1001 )

برای مقادیر مشخصات یه جدول سوم هم خواهی داشت :چشمک:

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

البته شما می تونین با همون دو جدول کار کنین اگر مشخصات کامل رو نمی خوای بذاری .

salehbagheri
دوشنبه 31 فروردین 1388, 17:22 عصر
پيشنهاد من اينه!

يه جدول با ستون هاي زير ايجاد كنيد:
ProductID
FarsiName
EnglishName
FrenchName
ItalianName
Price
Discount
...

كافيه به تعداد زبان ها، SP ايجاد كنيد و در هنگام فراخواني، SP زبان مورد نظر رو فراخواني كنيد!

iman_22a
دوشنبه 31 فروردین 1388, 17:42 عصر
پيشنهاد من اينه!

يه جدول با ستون هاي زير ايجاد كنيد:
ProductID
FarsiName
EnglishName
FrenchName
ItalianName
Price
Discount
...

كافيه به تعداد زبان ها، SP ايجاد كنيد و در هنگام فراخواني، SP زبان مورد نظر رو فراخواني كنيد!

این درصورتیه که فقط به چهار زبان محدود باشیم :چشمک:

salehbagheri
دوشنبه 31 فروردین 1388, 17:55 عصر
این درصورتیه که فقط به چهار زبان محدود باشیم
خير، اينطور نيست!

به تعداد زبانها ميتونيد ستون ايجاد كنيد!
در ضمن، بيشترين تعداد زبانهاي بكار برده شده در يك سايت معمولا از ده تا تجاوز نميكنه، مگه اينكه ديگه يه سايت Overt بخاد درست كنه! كه بازهم با اين روش مشكلي پيش نمي ياد و به راحتي ميتونيد در صورت نياز ستوني جديد (زباني جديد) اضافه كنيد! اينكه ديگه كاري نداره!

سعي كنيد ابتدا راحت ترين راه رو انتخاب كنيد و لقمه رو دور سرتون نچرخونيد!

iman_22a
دوشنبه 31 فروردین 1388, 18:12 عصر
خير، اينطور نيست!

به تعداد زبانها ميتونيد ستون ايجاد كنيد!
در ضمن، بيشترين تعداد زبانهاي بكار برده شده در يك سايت معمولا از ده تا تجاوز نميكنه، مگه اينكه ديگه يه سايت Overt بخاد درست كنه! كه بازهم با اين روش مشكلي پيش نمي ياد و به راحتي ميتونيد در صورت نياز ستوني جديد (زباني جديد) اضافه كنيد! اينكه ديگه كاري نداره!

سعي كنيد ابتدا راحت ترين راه رو انتخاب كنيد و لقمه رو دور سرتون نچرخونيد!

حرف شما درست ولی اگر یه فروشگاه پر بازدیدکننده رو بخوای برای تغییر ساختار ستون های جدول معطل کنی ، فکر نکنم درست باشه (البته در صورتیکه بخوان Overt زبان اضافه کنن جناب فردوسی) :لبخند: