نمایش نتایج 1 تا 6 از 6

نام تاپیک: مشکل در Replace کردن در دیتابیس

  1. #1

    مشکل در Replace کردن در دیتابیس

    با سلام خدمت دوستان
    من یه مشکلی تو Replace کردن برام به وجود اومده که امیدوارم بتونید منو راهنمایی کنیم
    مشکل من اینه که میخوام یکسری اعداد رو تو دیتابیسم رو عوض کنم و جاش عدد دیگه بزارم
    مثلا میخوام تو تیبل news اعداد شماره 2 که درون فیلد topic ذخیره شده رو به عدد 13 تبدیل کنم
    من با استفاده از این کد این کار رو انجام میدم
    mysql_query("update news set topic = replace(topic, '$old_num', '$new_num')");

    حالا مشکل اینجاست که شما به عنوان مثال این اعداد رو در نظر بگیرید
    2,3,4,5,6,7,8,9
    من میخوام به جای این اعداد به ترتیب از راست به چپ اینا رو بزارم
    12,23,54,45,86,17,38,19

    ابتدا عدد 12 را جایگزین عدد 2 میکنیم
    که بعد از اجرای دستور و جایگزینی اعداد داخل جدول به این صورت در میاد
    12,3,4,5,6,7,8,9
    حالا باید عدد دوم یعنی 23 رو جایگزین 3 کنیم که به این صورت میشه
    12,23,4,5,6,7,8,9
    حالا نوبت عدد سوم هست یعنی 54 باید جایگزین 4 بشه که حاصل میشه
    12,23,54,5,6,7,8,9

    و حالا میرسیم به نقطه کور ماجرا که مشکل من اینجاست
    حالا اگر بخوام عدد بعدی یعنی 45 رو جایگزین عدد 5 کنم هر چی عدد 5 باشه میگیره به 45 تبدیل میکنه یعنی به اینصورت میشه


    12,23,454,45,6,7,8,9

    همونطور که دیدید هر چی 5 بود به 45 تبدیل کرد یعنی عدد 54 که توش 5 داشت رو به 454 تبدیل کرد
    من چیکار کنم که این مشکل پیش نیاد ؟
    آیا راهی هست که عدادی رو که جایگزین کردم در جایگزینهای بعدی نباشه ؟
    ممنون میشم دوستان راهنمایی کنند
    با تشکر

  2. #2

    نقل قول: مشکل در Replace کردن در دیتابیس

    میشه اول بگید قصدتون از این کارا چیه ؟ شاید راه حل بهتری اراده شد واسه اینکارتون

  3. #3

    نقل قول: مشکل در Replace کردن در دیتابیس

    خوب میخوام id موضوعات مطالب سایتم رو تغییر بدم
    یعنی من موضوعات سایتم رو عوض کردم و یه چیزایی اضافه و کم کردم و باید id های جدید جایگزین id های قدیمی بشه

  4. #4

    نقل قول: مشکل در Replace کردن در دیتابیس

    پس شما فرضا دوتا لیست دارید که یکی id های جدید هستش و یکی id های قدیمی مثلا :
    1,2,3,4,5 قدیمی
    6,7,8,9,10 جدید

    حالا میخوایین
    6 بشینه جای 1
    7 بشینه جای 2
    و . . .
    و دقیقا id جدید متناظر با هر id قدیمی رو دارید
    درسته ؟

  5. #5

    نقل قول: مشکل در Replace کردن در دیتابیس

    بله درسته
    من دو تا لیست دارم از آی دی های قدیمی و آی دی های جدید که یکسری اعداد مشابه این وسط هستند که مشابه اند با هم دیگه و کار رو خراب میکنند
    مانند توضیحی که بالا دادم

  6. #6

    نقل قول: مشکل در Replace کردن در دیتابیس

    شما به ازای هر id میتونی یه update بنویسی توی یه for . نظرت چیه ؟ حالا اگه id موجود بود واسه اینکه تکراری نشه یکی به id اضافه کن و اینو تو یه تابع بازگشتی بنویس که تا وقتی که id خالی پیدا نشد از تابع نیاد بیرون.

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •