PDA

View Full Version : حرفه ای: جستجو و جابجايي يک کاراکتر در کل ديتا بيس



imanitc
چهارشنبه 09 اسفند 1391, 09:42 صبح
با سلام دوستان برنامه نويس
همانطور که همه ميدانيد مشکل در ي و ک فارسي و عربي يکي از معضلات موجود در کار با منابع فارسي است.لذا يکي از راهکار ها يکسان کردن کل ديتا اينتيتي ها ميباشد با استفاده از توابعي که خودمون ميتونيم بنويسيم . منتهي مشکل من الان با منبعي است که اينکار رو نکردن و ميخاستم الان هرچي ي و ک توي ديتا بيس يعني کل تيبيل ها و فيلد ها رو شامل بشه يک تابع يا کوئري که اين يکسان سازي رو انجام بده فکر کنم اين مشکل خيلي از دوستان باشه از استادان سايت تقاضاي کمک دارم.

MMSHFE
چهارشنبه 09 اسفند 1391, 11:36 صبح
کار سختی نیست. فقط یکم حوصله میخواد. میتونید با دستور SHOW TABLES فهرست جداول رو استخراج کنید و توی حلقه بگذارین. بعد با یک Query همه رکوردهای هر جدول رو بیرون بکشین و با mysql_fetch_assoc بصورت Associative فیلدها رو استخراج کنید و بعد با array_keys اسم فیلدها رو در بیارین و نهایتاً با یک حلقه دیگه، یک کوئری بسازین که همه فیلدها رو یکی یکی توی دستور UPDATE و جلوی SET میگذاره. بجای مقدار جدید هم همون مقدار قبلی رو با str_replace جایگزین کنید و مقداردهی رو انجام بدین. شرط WHERE رو هم بر اساس id بگذارین که همه رکوردها با مقدار یکسان جایگزین نشن. با توجه به سابقه شما، گفتم اول راهنمایی کنم تا حتی الأمکان خودتون بنویسید.

imanitc
چهارشنبه 09 اسفند 1391, 11:38 صبح
ممنون از راهنماييتون گفتم شايد راه ساده تر و سريعتري داشته باشه لطف کردين

plague
چهارشنبه 09 اسفند 1391, 16:08 عصر
با replace میتونید اینکارو انجام بدین ولی دیگه همه تیبل ها و فیلد ها رو در نظر نمیگیره باید برای تک تک فیلد ها بنویسید
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_replace