به جای ارسال یک کوئری اضافی قبل از کوئری اصلی بهتره که فیلد مورد نظر رو در دیتابیس unique کنید و بعد در php ارور ها رو چک کنید تا اگر ورودی تکراری بود به کاربر هشدار داده بشه. اینطوری یک کوئری کمتر به سرور فرستاده میشه
به جای ارسال یک کوئری اضافی قبل از کوئری اصلی بهتره که فیلد مورد نظر رو در دیتابیس unique کنید و بعد در php ارور ها رو چک کنید تا اگر ورودی تکراری بود به کاربر هشدار داده بشه. اینطوری یک کوئری کمتر به سرور فرستاده میشه
اگه در دیتابیس فیلدی رو unique کنیم دیگه مقدار تکراری در اون قرار نمیگیره؟
همینطوره. وقتی که مقدار تکراری در یک فیلد unique وارد بشه همچین اروری میده:
کد ارور هم وقتی که با توابع mysql کار میکنید 1062 هست. اگر از رابط های دیگه مثل PDO استفاده کنید فکر میکنم کد ارور متفاوت باشه ولی متن ارور همین هستکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
اگه فیلدی در جدول نوعش رو unique تعریف کنیم چطور باید چک کنیم که اگر تکراری بود فلان پیغام رو بده ؟! اگه نوعش unique نباشه که اول یک سلکت میگیریم از بانک بعد اگه mysql_num_rows !=0 باشه مثلا پیغام میده که تکراریه ولی یک کار طولانیه ! اگه بخوایم این کار رو انجان ندیم باید چطور چک کنیم که اگه فیلدی unique باشه و مقدار ورودیمون تکراری باشه پیغام خطا بده !
بر فرض اینکه فیلد email از نوع یونیک باشه:
روش دقیقترش هم اینطوریه که با عبارات با قاعده نام و مقدار فیلدهای تکراری از ارور استخراج بشه:کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
این کد ها رو بدون تست کردن نوشتم اما در کل روش کار همین هستکد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
سلام . میشه با php کاری کرد که اگه یک اتفاق بیفته یک پیغامی بده و بعد از چند ثانیه بره . مثلا یک فیلدی در یک جدول رو مقدارش رو تغییر میدیم و میگیم اگر تغییر کرد نشون بده فیلد مورد نظر تغییر کرد و بعد از 3 ثانیه این نوشته بره !
نه این کار ارتباطی به php نداره. باید با جاوا اسکرپت انجام بدیدنوشته شده توسط Manager_66 [ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام / من یک جدول دارم بشکل :
میخوام در جدول sub_category مقدار جدیدی درج کنم . میخوام چک کنه اگه با این نام و با این cat_id که cat_id خودش id جدول category میشه فیلدی نبود بعد درج کن در غیر اینصورت پیغام خطا بده . واقعا نمیدونم باید چیکار کنم . ممنون میشم کمک کنید.
در این جور مواقع فکر کنم توابع left join و right join و join (یکیشون ) مای اس کیو ال به درد می خوره.
یا:
با یه کوئری همه ی نتایجی که در جدول موضوعات هستند و آی دیشون برابر sub_id اون زیر مجموعه هست رو ببینید و سپس با if و mysql_num_rows ببیند که مساوی نباشه با 0 (یعنی وجود داشته باشه چنین موضوعی!).
اونوقت.... {}
مرسی از راهنماییتون . هر چند هیچی نفهمیدم
من این کدو نوشتم ولی فقط یک بار کار میکنه :
و اگه یک فیلد با نام مثلا علی در جدول sub_category باشه با cat_id=3 بخوایم یک علیه دیگه با cat_id=1 بسازیم میگه مقدار تو جدول موجوده ! همن کدو نمیشه جوری تغییرش داد که درست شه ؟!کد:برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید
هم اکنون 1 کاربر در حال مشاهده این تاپیک میباشد. (0 کاربر عضو شده و 1 مهمان)