replace در بانک اطلاعاتی توسط دستور sql
با سلام خدمت همگی دوستان
گاهی ممکن است کلمه ای را چندین بار در سایت خود وارد کرده باشید، مثلا در متن های مختلف سایت خود، (فرض بر این است که متن ها در دیتابیس ذخیره می شوند) کلمه ی ABC را نوشته اید. پس از مدتی مثلا ۱ سال بعد! تصمیم می گیرید همه ی کلمه های ABC را با الف.ب.پ جایگزین کنید.
در طول این مدت نسبتا طولانی ممکن است هزاران بار کلمه ی ABC را در متن های مختلف سایت خود نوشته باشید. پس انجام این جایگزینی بصورت دستی کاری بس دشوار است.
با نوشتن یک کوری (query) و اجرای آن، انجام جایگزینی متن یا کلمات در دیتابیس بسیار سریع و ساده خواهد بود. در این کوئری از تابع Replace در mysql استفاده شده.
update table_name set `field_name` = replace(`field_name`, ‘ABC’, ‘الف.ب.پ’);
table_name نام جدولی است که می خواهید مقادیر در آن جایگزین شوند.
field_name نام فیلدی از جدول مورد نظر است که می خواهید مقادیر در آن جایگزین شوند.
با اجرای کد بالا در بخش SQL برنامه ی تحت وب PHPMyAdmin عبارت های ABC با الف.ب.پ جایگزین می شوند.
اگر می خواهید عبارت مورد نظر در جدول ها و فیلد های مختلف پیدا و جایگزین شوند، باید کد را برای جدول ها و فیلد های مورد نظر آن جدول اجرا کنید.
امیدوارم که مثبت واقع شده باشد.
موفق باشید
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
ممنون من این مشکل رو با حرف "ی" دارم تو لینوکس که دارم طراحی و برنامه نویسی میکنم زیرش نقطه نمیذاره ولی دادم بچه ها میگن تو ویندوز زیر حرف "ی" دو تا نقطه داریم که باعث میشه جستجو و بقیه چیزها کار نکنن. به نظرتون این ترفند مشکل رو حل میکنه؟
2 ضمیمه
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
باید از کد اسکی استفاده کنی . حالا حرف این "ی" مد نظرتونه ، من نمی دونم چنده
یک سری لیست کدهای اسکی همراه با استفاده در جاهای مختلف و کدهای اچ تی ام ال واستون می ذارم تا جریان کار بیاد دستتون .
هم در php می تونی موقع درج از تابع replace استفاده و هم می تونید از روش بالا استفاده کنید
ضمیمه 81641ضمیمه 81640
باد کد اسکیش رو پیدا کنی
یا یک فکر و ایده برای پیدا کردن کد اسکی مورد نظر شما :
این اولین کد اسکی می شه & # 1 ; ==> و اینو بنداز داخل حلقه و تا جایی که امکان داره بهش اضافه کن تا کد اسکی حرفت رو پیدا کنی و بعد ازش استفاده کن این ادیتور سایت نمیذاره کد رو به شما نمایش بدم ولی توی عکس هست از 32 شروع شده
موفق باشید
1 ضمیمه
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
اینم هست یادم رفت واستون بذارم
ضمیمه 81642
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
ببينيد اين "ي" رو الان رو ويندوز تايپ كردم با تيپيك قبليم مقايسه كنيد ميبينيد اون حرفي كه قبل تاپيك شما نوشتم زيرش نقطه نداره ولي الان رو ويندوز داره.
حروف "ي" كه شما هم نوشتيد نقطه ندارن زيرشون. اگه ويندوز داريد فونت تاهوماتون با ماله ما چه فرقي داره؟
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
مشکل ارتباطی به فونت نداره. مربوط به CodePage هست. احتمالاً ایشون روی ویندوزشون صفحه کلید فارسی نصب کردن (مثل من). این راه رو امتحان کنید:
یکبار توی ویندوز با کمک تابع ord کد ی عربی (با دو نقطه زیر) رو بدست بیارین.
یکبار هم توی لینوکس با کمک همون تابع کد ی فارسی (بدون دو نقطه زیر) رو استخراج کنید.
حالا میتونید ازطریق کد، کارکترها رو جایگزین کنید.
موفق باشید.
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
نقل قول:
نوشته شده توسط
tux-world
ببينيد اين "ي" رو الان رو ويندوز تايپ كردم با تيپيك قبليم مقايسه كنيد ميبينيد اون حرفي كه قبل تاپيك شما نوشتم زيرش نقطه نداره ولي الان رو ويندوز داره.
حروف "ي" كه شما هم نوشتيد نقطه ندارن زيرشون. اگه ويندوز داريد فونت تاهوماتون با ماله ما چه فرقي داره؟
بستگی به ویندوز هم داره . این فونت هایی که واستون آپلود کردم رو دانلود ، توی پوشه فونت (کنترل پنل) کپی و جایگزین فونت های قبلی و سیستم رو یکبار ریست کنید .
http://www.8pic.ir/images/5grkr3y5lgow8fz5zl9b.zip
شاید مشکلتون حل شد
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
اكه اينها رو تو fontface@ تعريف كنم اين مشكل براي كسايي كه رو ويندوز اين حالت براشون پيش مياد درست ميشه؟
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
اگر بخواهم اعداد به صورت فارسي در بانك ذخيره بشه يا نمايش داده بشه بايد چه كنم ؟
مثلا نميخوام 3 باشه ميخوام 3 فارسي نوشته بشه
ممنون
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
نقل قول:
نوشته شده توسط
reza10wert
اگر بخواهم اعداد به صورت فارسي در بانك ذخيره بشه يا نمايش داده بشه بايد چه كنم ؟
مثلا نميخوام 3 باشه ميخوام 3 فارسي نوشته بشه
ممنون
در مورد توابع جلالی سرچ کنید : https://barnamenevis.org/showthread.p...DB%8C%D8%AF%29
اینم سایت رسمیش : http://jdf.scr.ir
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
نقل قول:
نوشته شده توسط
tux-world
ممنون من این مشکل رو با حرف "ی" دارم تو لینوکس که دارم طراحی و برنامه نویسی میکنم زیرش نقطه نمیذاره ولی دادم بچه ها میگن تو ویندوز زیر حرف "ی" دو تا نقطه داریم که باعث میشه جستجو و بقیه چیزها کار نکنن. به نظرتون این ترفند مشکل رو حل میکنه؟
حرف "آ" با "ا" چه فرقی داره؟
تلفظشون یکیه و معنیشون هم یکی، ولی برای کامپیوتر دوتا حرف متفاوت اند
همینطور برای "ی" و "ي" که برای سیستم دوتا حرف مختلفند،
در اصل اولی مال زبون فارسیه، دومی عربی.
شما باید با استفاده از تابع str_replace توی پی اچ پی یا replace توی اس کیوال حرف "ی" رو جایگزین حرف "ي" کنی
من این مشکل رو توی نرم افزار های کتابخانه آستانقدس هم دیدم
اونا داده ها رو با "ي" عربی ذخیره کردن و هنگام جستجو وقتی از "ی" فارسی استفاده کنی نتیجه ای نمیاره
برای همین اکثرا با جستجو منابع این کتابخونه مشکل دارن!
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
به تاریخ پست ها هم دقت کنین دوست عزیز ، ایشون در بهمن 1390 یه سوالی کردن ، تا حالا به جواب رسیدن و خودشم دیگه یادش نمیاد که همچین مشکلی قبلاً داشته .
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
نقل قول:
نوشته شده توسط
virus30ya30
به تاریخ پست ها هم دقت کنین دوست عزیز ، ایشون در بهمن 1390 یه سوالی کردن ، تا حالا به جواب رسیدن و خودشم دیگه یادش نمیاد که همچین مشکلی قبلاً داشته .
راس میگیها!
چرا خودم ندیدم!!!!
نقل قول: replace در بانک اطلاعاتی توسط دستور sql
update `tbl_name` set
`text` = replace(`text`, 'ك', 'ک') ,
`text` = replace(`text`, 'ي', 'ی');
query SQL
جایگزین کردن کلمات در بانک اطلاعاتی . اینایی که رکورد خراب وارد بانک کردن و در جستجو با مشکل روبرو شدن به این صورت تصحیح کنند . دستور بهینه شده .