آفلاین
user-avatar

ایا دیتابیس داده هایی که تغییر کرده اند را به ما میدهد

PHP -
6 روز پیش
توسط سبحان دادخواه آپدیت شد
آفلاین
user-avatar
Mohamma Khazaee ( 1610 تجربه )
6 روز پیش

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

ممنون از همه دوستان

بهترین پاسخ انتخاب شده توسط Mohamma Khazaee
آفلاین
user-avatar
سبحان دادخواه
6 روز پیش

@mohammad.edvard سلام .
تنها راه مناسب از نظر من ذخیره همون مقدار قبلی در فیلد جداگانه هست . مثلا oldprice و newprice .

راه دومی هم هست که توی یک فیلد ذخیره کنید اما پیشنهاد نمیکنم. اون هم ذخیره آرایه بصورت JSON در دیتابیس هست که بعدا برای سرچ و انجام عملیات مختلف روی داده ها با مشکل مواجه میشید.

آفلاین
user-avatar
Mohamma Khazaee ( 1610 تجربه )
6 روز پیش

درواقع الان که ی جدول رو تغییر دادم میخوام به اون مقدار قبلی هم دسترسی داشته باشم
ممنون میشم دوستان اطلاعی دارند بگن

آفلاین
user-avatar
سبحان دادخواه ( 26479 تجربه )
6 روز پیش
تخصص : دانشجوی برنامه نویسی :)

@mohammad.edvard سلام .
تنها راه مناسب از نظر من ذخیره همون مقدار قبلی در فیلد جداگانه هست . مثلا oldprice و newprice .

راه دومی هم هست که توی یک فیلد ذخیره کنید اما پیشنهاد نمیکنم. اون هم ذخیره آرایه بصورت JSON در دیتابیس هست که بعدا برای سرچ و انجام عملیات مختلف روی داده ها با مشکل مواجه میشید.

آفلاین
user-avatar
saman ( 19710 تجربه )
6 روز پیش

سلام
نمیشه، شما باید جدول های جدا در نظر بگیرید و از طریق اونا این کارو انجام بدید.

آفلاین
user-avatar
Mohamma Khazaee ( 1610 تجربه )
6 روز پیش

@SobhanDadkhah
@saman1111

میشه توی دیتابیس دستوری داد تا ی شرط مقایسه ای گذاشت مثلا oldprice کمتربود از newprice کل اونهایی این شرط رو دارن فراخونی بشن ؟

آفلاین
user-avatar
saman ( 19710 تجربه )
6 روز پیش

بله شما ساختار دیتابیس رو متناسب با سیستمی که میخوای طراحی کن.
بعدش هر کاری دلت بخواد میتونی کنی.
فقط دانش SQL میخواد که مطمئنا داری.

آفلاین
user-avatar
سبحان دادخواه ( 26479 تجربه )
6 روز پیش
تخصص : دانشجوی برنامه نویسی :)

@mohammad.edvard

میشه توی دیتابیس دستوری داد تا ی شرط مقایسه ای گذاشت مثلا oldprice کمتربود از newprice کل اونهایی این شرط رو دارن فراخونی بشن ؟

بله . عملگر ها به همین دلیل وجود دارند . به همین دلیل هم عرض کردم مثلا اگر نیاز به دسته بندی و مقایسه دارید باید ستون های جدا در نظر بگیرید . چون زمانی که آرایه بخواید ذخیره کنید باید بصورت JSON encode کنید و چون بصورت رشته ذخیره میشه شما قابلیت های مثل مقایسه و طبقه بندی رو از دست خواهید داد .

فقط برای اطلاعات بیشتر مثالی میزنم که ملموس تر هست . شما اگر بخواین فاصله بین دو تاریخ رو در MYSQL حساب کنید شرط between رو میتونید بکار ببرید منتها در صورتی میتونید این کار رو بکنید که حتما فیلد تاریخ هاتون از نوع date تعریف شده باشه . اگر تاریخ بصورت string ذخیره شده باشه MYSQL نمیتونه تشخیص بده و عملا تمامی عملگر هایی که میتونید به کار ببرید کارایی نخواهد داشت .

آرزوی موفقیت و سلامتی دارم 🌹

برای ارسال پاسخ باید وارد سایت شوید