PDA

View Full Version : سوال: کد php برای تغییر در رکوردهای sql



mahdiak
سه شنبه 20 اسفند 1392, 17:02 عصر
سلام

اساتید محترم .

خیلی عذر میخوام بنده مبتدی هستم اگر درست نمیتونم درخواستم رو توضیح بدم .

دوستان در یک اسکریپت جامعه مجازی در یکی از تیبلهای دیتابیس USER_ID و USER_POINT وجود داره . که ای دی کاربران و امتیاز فعالیت آنها در آن ذخیره میشه .

بنده نیاز به کدی دارم که هروقت اجرا شد این کد تمام اون امتیاز های کاربران در USER_POINT بشه 0

و همچنین من یک ستون دیگه به این تیبل اضافه کردم به نام USER_POINTALL

و بنده نیاز به کد دیگری دارم که هروقت اجرا شد تمام اون عدد ها که نشانگر امتیاز فعالیت کاربر که در USER_POINT قرار دارد با عدد هایی که در USER_POINTALL وجود داره جمع بشه و حاصل جمع در USER_POINTALL قرار داده بشه .

ممنون میشم نمونه کد بدید بهم تا بتونم این کارو انجام بدم .

( اگر منظورم رو نرسوندم ممنون میشم بفرمایید تا کاملتر توضیح بدم . )

mahdiak
پنج شنبه 22 اسفند 1392, 12:33 عصر
دوستان برای 0 کردن تمام امتیازها کد sql زیر رو پیدا کردم

UPDATE user_activity SET user_point = '0'

کسی نمیتونه منو راهنمایی کنه برای سوال دوم ؟

و همچنین من یک ستون دیگه به این تیبل اضافه کردم به نام USER_POINTALL

و بنده نیاز به کد دیگری دارم که هروقت اجرا شد تمام اون عدد ها که نشانگر امتیاز فعالیت کاربر که در USER_POINT قرار دارد با عدد هایی که در USER_POINTALL وجود داره جمع بشه و حاصل جمع در USER_POINTALL قرار داده بشه .

[younes]
پنج شنبه 22 اسفند 1392, 13:17 عصر
دوست عزیز الان مسئله روشن نیست شما تو نوشتن کد php مشکل دارید یا تو دستورات sql ؟

mahdiak
پنج شنبه 22 اسفند 1392, 19:09 عصر
;1989200']دوست عزیز الان مسئله روشن نیست شما تو نوشتن کد php مشکل دارید یا تو دستورات sql ؟

دوست عزیز بندکد php نیاز دارم که با اجرا شدن آن تمام امتیازات کاربران که در ستون user_point هست با امتیازات ستون user_pointall کاربران جمع شود و حاصل در user_pointall نوشته شود .

[younes]
جمعه 23 اسفند 1392, 12:18 عصر
درود

این پروسه رو میشه به صورت های مختلف پیاده سازی کرد که یه کارایی رو داره


شبه کد باید به این صورت باشه

1) ابتدا اتصال به DB
2) دادن یه کوئری که تمام یوزرنیم ها رو بر میگردونه
3) دریافت پاسخ و ریختن توی یه آرایه به عنوان مثال USER_ARRAY$ با متد mysql_fetch_array
4) ایجاد یه حلقه که به تعداد رکود ها بازگشتی مرحله ی قبل تکرار بشه و در بدنه با هر بار اجرا یه کورئری شرطی mysql بفرسته که شرط اون نام کاربری باشه و پاسخ رو به یه آرایه دو بعدی جدید اضافه کنه که بعد اول شامل یوزنیم و بعد دوم خود یک آرایه باشه شامل user_point و user_pointall
5) حالا ما یه آرایه دو بعدی شامل تمام اطلاعات لازم داریم که دوباره با دو حلقه for میتونیم پردازش کنیم و هر بار اجرای حلقه برای هر یوزر مقدار [0][0] ,[1][0] آرایه جع بشه و حاصل توی db ستون user_pointall رو به شرط نام کاربری که همون عنصر اول آرایه بود آپدیت کنه

یا اگر تعداد زیاد درخواست ها به db server ممکنه برنامتون رو کند کنه میتونید در مرحله 5 مقادیر جدید رو توی یه فایل sql بنویسید و در آخر یک بار فایل رو بخونید و به sql server ارسال کنید.