مشکل در ذخیره چک باکس در دیتابیس
سلام و عرض ادب
مبتدیم و قصد دارم با لاراول سایت مشاور املاک طراحی کنم
در بخش فرم ثبت ملک حدود 20 چک باکس مثل آسانسور، پارکینگ و .... هست
قصدم این بود که برای هر چک باکس یک ستون در جدول از نوع BIT ایجاد کنم ولی متوجه شدم که این امکان در لاراول نیست
از طرفی استفاده از ستون از نوع boolean باعث هدر رفت فضای دیتابیس میشه ( 8 بیت برای true و false زیاده)
ایده ای که دارم اینه که که یک ستون از نوع int ایجاد کنم و هر بیت رو به یک چک باکس اختصاص بدم، (البته هنوز نمیدونم چطور این کارو کنم)
حالا سوالم اینه نظرتون در مورد ایده کلی چیه؟
ایده بهتری دارین؟
نقل قول: مشکل در ذخیره چک باکس در دیتابیس
بولین همون int(1) هستش
true , false واقعی نیست ....... 0 و1 هستش
نقل قول: مشکل در ذخیره چک باکس در دیتابیس
نقل قول:
نوشته شده توسط
plague
بولین همون int(1) هستش
true , false واقعی نیست ....... 0 و1 هستش
میدونم احتمالا بد نوشتم
منظورم این بود در هر حال 8 بیته و برای نشون دادن true and false فقط یک بیت هم کفایت میکنه
نقل قول: مشکل در ذخیره چک باکس در دیتابیس
برای سایتی مثل مشاور املاک بهتره از فیلد ساز استفاده کنید مثلا برای این چک باکس هایی که می گید بهتره برای هر نوع ملک مثل آپارتمان خود مدیر سایت یکسری فیلد تعریف کنه بعدش از طریق جدول واسط و رابطه چند به چند کافیه آیدی اون فیلد و آیدی آگهی ملک رو قرار بدین اینجوری داینامیک هم میشه و بعدا دیگه نیاز نیست برای درج یا ویرایش نام فیلد از برنامه نویس بخوان اینکارو بکنه
نقل قول: مشکل در ذخیره چک باکس در دیتابیس
همون بولین بزار خودت رو درگیر نکن فکر نمیکنم راه ساده ای برای این کار باشه
نقل قول: مشکل در ذخیره چک باکس در دیتابیس
نقل قول:
نوشته شده توسط
plague
همون بولین بزار خودت رو درگیر نکن فکر نمیکنم راه ساده ای برای این کار باشه
راهش رو پیدا کردم ولی خوب دردسرش زیاده
تصمیم گرفتم همون boolean بزارم
در هر حال از کمکتون ممنونم
نقل قول: مشکل در ذخیره چک باکس در دیتابیس
نقل قول:
نوشته شده توسط
hamedarian2009
برای سایتی مثل مشاور املاک بهتره از فیلد ساز استفاده کنید مثلا برای این چک باکس هایی که می گید بهتره برای هر نوع ملک مثل آپارتمان خود مدیر سایت یکسری فیلد تعریف کنه بعدش از طریق جدول واسط و رابطه چند به چند کافیه آیدی اون فیلد و آیدی آگهی ملک رو قرار بدین اینجوری داینامیک هم میشه و بعدا دیگه نیاز نیست برای درج یا ویرایش نام فیلد از برنامه نویس بخوان اینکارو بکنه
ممنون رفیق
نقل قول: مشکل در ذخیره چک باکس در دیتابیس
در ضمن در مورد راه حل هم ی توضیح کوچیک میدم شاید بکار بقیه بیاد
فرض کنید 3 تا چک باکس داریم
1.آسانسور 2.پارکینگ 3.انباری
حالا ی متغیر 8 بیتی هم داریم به نام x
با ارزش ترین بیت رو اختصاص میدیم به آسانسور اگر آسانسور داشت 1 میشه و اگر آسانسور نداشت 0 میشه
بقیه هم به همین صورت
$x=0;
if($asansor==1) $x=$x+128;
if($parking==1) $x=$x+64;
if($anbari==1) $x=$x+32;
نتیجه نهایی ذخیره میشه