PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : موجود نکردن کالا و خدمات



Marshall
December 17th, 2019, 07:08
با سلام و خسته نباشید
توی دیتابیس برای تعداد کالا یک فیلد ساختم که موجودی یک کالایی رو میشه ذخیره کرد!
فیلد رو int 10 قرار دادم، می خواستم تعداد اگه خالی باشه اخطار عدم موجودی کالا رو نزنه و فقط در صورتی عدم موجودی کالا رو بزنه که تعداد صفر وارد شده باشه، در فیلدهایی با int خالی هم قرار بدیم مقدار رو صفر می نویسه.
با varchar هم امتحان کردم فیلد رو خالی گذاشتم بازم به موجودی کالا گیر میده! و باید حتما عدد قرار داده بشه که بزرگتر از صفر باشه
چون شرط کردم در صورتی عدم موجودی کالا رو به کاربر نشون بده که مقدار صفر باشه!
راهی هست فیلد رو خالی گذاشت و با شرط مساوی صفر برام عدم موجودی کالا نزنه؟!
با تشکر فراوان

a1994n1373
December 17th, 2019, 07:59
خوب یه or بذار بگو اگه خالی هم بود موجودی کالارو 0 در نظر بگیره

Marshall
December 17th, 2019, 09:33
خوب یه or بذار بگو اگه خالی هم بود موجودی کالارو 0 در نظر بگیره

دوست عزیز نگاه کنید منظور من اینکه اگر خالی بود صفر در نظر نگیره!!!

sam_pontiac
December 17th, 2019, 10:09
با سلام و خسته نباشید
توی دیتابیس برای تعداد کالا یک فیلد ساختم که موجودی یک کالایی رو میشه ذخیره کرد!
فیلد رو int 10 قرار دادم، می خواستم تعداد اگه خالی باشه اخطار عدم موجودی کالا رو نزنه و فقط در صورتی عدم موجودی کالا رو بزنه که تعداد صفر وارد شده باشه، در فیلدهایی با int خالی هم قرار بدیم مقدار رو صفر می نویسه.
با varchar هم امتحان کردم فیلد رو خالی گذاشتم بازم به موجودی کالا گیر میده! و باید حتما عدد قرار داده بشه که بزرگتر از صفر باشه
چون شرط کردم در صورتی عدم موجودی کالا رو به کاربر نشون بده که مقدار صفر باشه!
راهی هست فیلد رو خالی گذاشت و با شرط مساوی صفر برام عدم موجودی کالا نزنه؟!
با تشکر فراوان

دیفالت ردیفی که ایجاد کردید رو یا Null بگذارید، یا As Defined روی 0 مثلا بگذارید و بر این اساس شرط گذاری کنید.
شما بهرحال باید یکجوری اخطار عدم موجودی رو اعلام کنید.
استانداردش این هست که اگر تعداد 0 بود اخطار عدم موجودی رو بزنه.
سعی کنید تو فیلدهایی که مقدارشون integer هست، هیچ وقت مقدار پیش فرضش رو خالی تعریف نکنید، حالا یا 0 باشه، یا Null باشه.وقتی Null باشه حکم empty رو داره، وقتی 0 باشه، حکم -0- و یا False رو داره.
همیشه Default برای فیلدهای int تعریف کنید.

Marshall
December 17th, 2019, 10:29
دیفالت ردیفی که ایجاد کردید رو یا Null بگذارید، یا As Defined روی 0 مثلا بگذارید و بر این اساس شرط گذاری کنید.
شما بهرحال باید یکجوری اخطار عدم موجودی رو اعلام کنید.
استانداردش این هست که اگر تعداد 0 بود اخطار عدم موجودی رو بزنه.
سعی کنید تو فیلدهایی که مقدارشون integer هست، هیچ وقت مقدار پیش فرضش رو خالی تعریف نکنید، حالا یا 0 باشه، یا Null باشه.وقتی Null باشه حکم empty رو داره، وقتی 0 باشه، حکم -0- و یا False رو داره.
همیشه Default برای فیلدهای int تعریف کنید.

با سلام
همین کار رو هم انجام دادم وقتی فیلد چه بصورت دستی و چه بصورت default برابر صفر است عدم موجودی کالا میزنه!
default رو هم روی null گذاشتم بازم هم فیلد رو صفر محاسبه می کنه و گیر میده موجودی کالا تموم شده!

sam_pontiac
December 17th, 2019, 10:35
با سلام
همین کار رو هم انجام دادم وقتی فیلد چه بصورت دستی و چه بصورت default برابر صفر است عدم موجودی کالا میزنه!
default رو هم روی null گذاشتم بازم هم فیلد رو صفر محاسبه می کنه و گیر میده موجودی کالا تموم شده!

خب وقتی 0 باشه، یعنی کالا موجود نیست دیگه.
شرطی که گذاشتید رو میتونید اینجا بگذارید؟
شما وقتی یه محصولی رو تعریف میکنید، تعداد موجودیش رو میزنید مثلا 100 تا.
هر بار خرید، بر اساس تعدادی که مشتری میخره از این مقدار کم میشه تا به میزان 0 برسه و عدم موجود بزنه.
میخواید کلا مقدار پیش فرض تو حالت عادی "خالی" بمونه و فقط در صورتی 0 بشه که خود سیستم از تعداد کم میکنه؟ من درست متوجه شدم؟

Marshall
December 17th, 2019, 11:12
خب وقتی 0 باشه، یعنی کالا موجود نیست دیگه.
شرطی که گذاشتید رو میتونید اینجا بگذارید؟
شما وقتی یه محصولی رو تعریف میکنید، تعداد موجودیش رو میزنید مثلا 100 تا.
هر بار خرید، بر اساس تعدادی که مشتری میخره از این مقدار کم میشه تا به میزان 0 برسه و عدم موجود بزنه.
میخواید کلا مقدار پیش فرض تو حالت عادی "خالی" بمونه و فقط در صورتی 0 بشه که خود سیستم از تعداد کم میکنه؟ من درست متوجه شدم؟
بله درست متوجه شدید.
ببینید من میخوام در حالت خالی بودن فیلد چون شرط رعایت نشده عدم موجودی کالا رو نزنه، وگرنه با این شرایط مقدار رو بالای 100000 در نظر گرفتم که از موجودی کم کنه! من میخوام یه جوری باشه که مثلا در حالت varcher یا هر چیز دیگه ای حروف یا چیزی یا خالی اگه وارد کردم به موجودی کالا گیر نده! من این فیلد رو اجبار در نظر نگرفتم می خوام وقتی خالی باشه یا هرچیز دیگه ای اونو صفر محاسبه نکنه و جلوی خرید رو نگیره و به صفر بودنش گیر نده! چون در حالت خالی بودن، در حالت صفر بودن و در حالت Null بودن اونو صفر محاسبه می کنه!

sam_pontiac
December 17th, 2019, 11:27
بله درست متوجه شدید.
ببینید من میخوام در حالت خالی بودن فیلد چون شرط رعایت نشده عدم موجودی کالا رو نزنه، وگرنه با این شرایط مقدار رو بالای 100000 در نظر گرفتم که از موجودی کم کنه! من میخوام یه جوری باشه که مثلا در حالت varcher یا هر چیز دیگه ای حروف یا چیزی یا خالی اگه وارد کردم به موجودی کالا گیر نده! من این فیلد رو اجبار در نظر نگرفتم می خوام وقتی خالی باشه یا هرچیز دیگه ای اونو صفر محاسبه نکنه و جلوی خرید رو نگیره و به صفر بودنش گیر نده! چون در حالت خالی بودن، در حالت صفر بودن و در حالت Null بودن اونو صفر محاسبه می کنه!

بسیار خب.
خودتون رو به دردسر نندازید و از استانداردش استفاده کنید.
چرا که ممکن هست فردا روزی شما اومدین و خواستید یک گروهی از محصولات در هر صورتی که شده قابل سفارش باشند و یک گروهی از محصولات اگر موجودیشون 0 بود، قابل سفارش نباشند!
اونوقت با این شیوه شما، خیلی به دردسر میفتید.
استانداردش که تو تمامی سیستمهای فروشگاهی وجود داره،تعریف یک ردیف مجزاست با میزان int 1 !
یک column تعریف کنید با نام in_stock
هنگام تعریف کالا، اگر خواستید که این کالا حتی زمانی که موجودیش 0 هست، قابل سفارش و موجود باشه، مقدار in_stock رو روی 1 قرار بدید برای اون کالا و در غیراینصورت روی 0 بگذارید.

یعنی زمانیکه شما یک کالا رو تعریف میکنید ، میگید این اسم، این برند، این قیمت، این تعداد و ... باقی مشخصات، و در نهایت "در انبار بصورت دائم موجود است؟" یک چک باکس ساده " بلی / خیر ".
اگر بلی بود ، مقدارش تو دیتابیس تو column مرتبط باهاش ( که گفتیم مثلا in_stock هست ) ، 1 ، و اگر خیر بود ، مقدارش 0.

براحتی میتونید وقتی کوئری میگیرید، یه شرط بگذارید که اگر in_stock برابر با 1 بود، قابلیت سفارش داشته باشه و از موجودی چنانچه 0 بود، کم نکنه، در غیر اینصورت قابلیت سفارش نداشته باشه.
بنده استانداردش رو بهتون گفتم.
اصلا پیچیده نیست که هیچ، خیلی خیلی هم کارتون رو راحت میکنه و حتی یک آپشن هم به محصولاتتون اضافه میکنه.
خیلی مانور میتونید بدید رو همچین چیزی.

Marshall
December 17th, 2019, 11:41
بسیار خب.
خودتون رو به دردسر نندازید و از استانداردش استفاده کنید.
چرا که ممکن هست فردا روزی شما اومدین و خواستید یک گروهی از محصولات در هر صورتی که شده قابل سفارش باشند و یک گروهی از محصولات اگر موجودیشون 0 بود، قابل سفارش نباشند!
اونوقت با این شیوه شما، خیلی به دردسر میفتید.
استانداردش که تو تمامی سیستمهای فروشگاهی وجود داره،تعریف یک ردیف مجزاست با میزان int 1 !
یک column تعریف کنید با نام in_stock
هنگام تعریف کالا، اگر خواستید که این کالا حتی زمانی که موجودیش 0 هست، قابل سفارش و موجود باشه، مقدار in_stock رو روی 1 قرار بدید برای اون کالا و در غیراینصورت روی 0 بگذارید.


یعنی زمانیکه شما یک کالا رو تعریف میکنید ، میگید این اسم، این برند، این قیمت، این تعداد و ... باقی مشخصات، و در نهایت "در انبار بصورت دائم موجود است؟" یک چک باکس ساده " بلی / خیر ".
اگر بلی بود ، مقدارش تو دیتابیس تو column مرتبط باهاش ( که گفتیم مثلا in_stock هست ) ، 1 ، و اگر خیر بود ، مقدارش 0.


براحتی میتونید وقتی کوئری میگیرید، یه شرط بگذارید که اگر in_stock برابر با 1 بود، قابلیت سفارش داشته باشه و از موجودی چنانچه 0 بود، کم نکنه، در غیر اینصورت قابلیت سفارش نداشته باشه.
بنده استانداردش رو بهتون گفتم.
اصلا پیچیده نیست که هیچ، خیلی خیلی هم کارتون رو راحت میکنه و حتی یک آپشن هم به محصولاتتون اضافه میکنه.
خیلی مانور میتونید بدید رو همچین چیزی.




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

sam_pontiac
December 17th, 2019, 14:06
خیلی ممنون یه چیزی توی این مایه ها انجام دادم
مشکل من با عدم موجودی کالا توی فروشگاه نبود! مشکلم با صفر بودنش توی پنل مدیریت بود که وقتی موجودی صفر بود گزارش لاگ دریافت می کردم و می خواستم گزارش لاگ رو حذف کنم ولی باید این فیلد رو چیزی قرار میدادم یا خالی قرار میدادم که گزارش لاگ توی پنل مدیریت از بین بره! الان کاری که کردم اینکه یه شرط توی پنل مدیریت بهش اضافه کردم که در صورتی گزارش لاگ رو بهم نشون بده که یه فیلد دیگه که فیلد عادیه مساوی صفر نباشه! وقتی گزارش لاگ رو دریافت می کنم اون فیلد رو مساوی صفر قرار میدم و اینطوری گزارش لاگ حذف میشه! گزارش لاگ فقط واسه اینکه من ببینم چی به چیه و وقتی دیدم پاکش می کنم!
خیلی ممنون از پیشنهادتون

البته این کاری که کردین، یکجورایی فقط دور زدن error log بوده.
پس الان حل شد؟

Marshall
December 17th, 2019, 14:27
البته این کاری که کردین، یکجورایی فقط دور زدن error log بوده.
پس الان حل شد؟

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

sam_pontiac
December 17th, 2019, 14:36
توی پنل مدیریت اینکاری که گفتم انجام دادم ولی توی فروشگاه همون کاری که شما گفتید انجام دادم، یه فیلد ساختم که در صورتی که مساوی 1 باشه از موجودی کالا کم می کنه، و در صورتی که 0 باشه از موجودی کالا کم نمی کنه.
و موجودی کالا رو هم یه مقداری در نظر گرفتم. برای پنل مدیریت وقتی لاگ دریافت می کردم باید یه جورایی لاگ رو بعد از مشاهده غیرفعال می کردم برای همین این سوال رو پرسیدم که توی این فیلد چیزی قرار بدم که لاگش حذف بشه ولی چون هیچ عدد و حروفی پیدا نمی کردم لاگ به همچنان قابل مشاهده بود! برای همین مقدار صفر کالا رو با یک فیلد دیگه شرط کردم که در صورتی که اون فیلد 0 نباشه لاگ رو بهم نشون بده، الان بعد از اینکه لاگ رو می بینم اون فیلد رو برابر 0 قرار میدم که یک فیلد ثانویه است و اینطوری لاگ غیرفعال می شه
بازم از محبت شما بسیار ممنون و سپاسگزارم

صحیح، البته کار درستش رو کردید پس.
خواهش میکنم، نوش جان :53: