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

نام تاپیک: جابجایی رکوردها در دیتابیس

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    مشهد
    پست
    215

    جابجایی رکوردها در دیتابیس

    سلام
    کدی میخوام که آیدی رکوردهای رو آپدیت کنه و جابجا کنه
    مثلا برای هر آیدی چک باکس بزارم وقتی 2 تا انتخاب کردم و جابجایی کلیک کردم آیدی 4 و 5 با هم جا به جا بشن
    فقط کوئزیشو میخوام ممنون میشم راهنمایی کنید

  2. #2

    نقل قول: جابجایی رکوردها در دیتابیس

    با سلام، تابع زير اين كار رو انجام ميده، كافيه نام فيلد id و نام جدول table رو با مقادير مربوط به ديتابيس خودتون جايگزين كنيد (ضمناً فيلد بايد از نوع عددي باشه):

    function swap_rows_id($first,$second)
    {
    $id=0;
    $result=mysql_query('SELECT * FROM `table` ORDER BY `id` DESC LIMIT 1');
    if(mysql_num_rows($result)>0)
    {
    $row=mysql_fetch_assoc($result);
    $id=$row['id'];
    }
    $id++;
    mysql_query('UPDATE `table` SET `id`=\''.$id.'\' WHERE (`id`=\''.$first.'\') LIMIT 1');
    mysql_query('UPDATE `table` SET `id`=\''.$first.'\' WHERE (`id`=\''.$second.'\') LIMIT 1');
    mysql_query('UPDATE `table` SET `id`=\''.$second.'\' WHERE (`id`=\''.$id.'\') LIMIT 1');
    }

    توضيح: first$ و second$ آيدي اول و دوم هستند.
    مثالي از نحوه استفاده:
    swap_rows_id(5,25);

    ويرايش: روش كار بدين ترتيب هست كه ابتدا آخرين ID موجود بعنوان آيدي موقت استخراج ميشه و يك واحد بهش اضافه ميشه تا مطمئن بشيم آيدي موقتي كه درنظر گرفتيم تكراري نيست. بعد ركورد اول رو اصلاح ميكنيم و آيدي جديد (موقت) رو بهش ميديم. در مرحله بعد، ركورد دوم اصلاح ميشه و آيدي ركورد اول رو ميگيره و نهايتاً ركوردي كه داراي آيدي موقت هست رو اصلاح ميكنيم و آيدي ركورد دوم رو بهش ميديم (روش تغيير مقدار متغيرها با استفاده از متغير كمكي).
    موفق باشيد.
    آخرین ویرایش به وسیله MMSHFE : دوشنبه 01 فروردین 1390 در 06:29 صبح

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1389
    محل زندگی
    مشهد
    پست
    215

    نقل قول: جابجایی رکوردها در دیتابیس

    سلام
    ممنون از راهنماییتون

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

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