• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
مشکل در update دو جدول مثل هم دیتابایس
#1
سلام
عکس زیر رو ببینید:
[عکس: z91_untitled.png]
من یک گزینه دارم که با کلیک روی اون ، اطلاعات مربوط به user,clas,date,end در جدولم ذخیره میشن (تصویر بالا)
از این کوئری هم برای آپدیت اون جدول استفاده می کنم:
کد پی‌اچ‌پی:
query('UPDATE azmoon SET end=1 WHERE clas="'.$clas.'" AND user="'.$id.'" LIMIT 1'); 
مشکل اینه که مثلا ما چند ردیف مثل تصویر بالا داریم که user و clas اونها با هم برابرند ولی در زمان های متفاوت ارسال شده اند حالا من میخوام همون ردیف مد نظرم آپدیت بشه ولی الان همون ردیف اول رو آپدیت میکنه
میدونم که باید در قسمت WHERE از id هم استفاده کنم ولی id رو از کجا بگیریم؟
البته میشه توی شرط WHERE گفت که بیشترین id
اینو توی شرط گذاشتم جواب نداد:
کد:
MAX(id)
  پاسخ
تشکر شده توسط :
#2
limit 1 رو بردار Sleepy
وبلاگ rezaonline.net/blog
سفارش برنامه نویسی reza.biz
Php , mysql , postgresql , redis , Yii and ... Cool
  پاسخ
تشکر شده توسط : meNESS kingblog
#3
رضا خیلی شیک بهت راه حلو گفت. ببین WHERE شرط کوئری هست. کسی اجبار نمیکنه ID رو شرط کنی وقتی لازم نداری
  پاسخ
تشکر شده توسط : kingblog
#4
از جواب هر دوی شما عزیزان ممنون
درسته؛ اون رو برداشتم
ولی مشکل اینه که میخوام آخرین سطری که مربوط به شرط هست و در جدول ذخیره شده آپدیت بشه
توی شرط از clas و user استفاده کردم و همونطور که توی تصویر می بینید، دو سطر مشابه داریم که clas و user اونها برابر هستند
[عکس: z91_untitled.png]
حالا من میخوام آخرین سطر اضافه شده مربوط به این شرط رو میخوام بروزرسانی کنم یعنی سطری که id اون بالاتره که در اینجا آی دی 2 هست
  پاسخ
تشکر شده توسط :
#5
درود

کد پی‌اچ‌پی:
query('UPDATE azmoon SET end=1 WHERE clas="'.$clas.'" AND user="'.$id.'" ORDER BY id DESC LIMIT 1'); 
  پاسخ
تشکر شده توسط : kingblog


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان