النتائج 1 إلى 8 من 8

الموضوع: مشكلة في تحديث قيمة متغير لكل السجلات

  1. #1

    مشكلة في تحديث قيمة متغير لكل السجلات



    السلام عليكم
    اليوم كنت احاول ان اغير قيمة متغير السالت لقاعدة بيانات الفي بي لكن المشكلة انه عند رفع الملف على الموقع ينتهي الوقت المتاح قبل انتهاء العملية فقمت باستعمل البيتوين لكن نفس الامر فهل لدى احد الاخوة الحل
    كود PHP:
    <?
    include("config.php");



    mysql_connect("$DBHostName","$DBUserName","$DBPassword");
    $d1=mysql_db_query("$DBName","select * from Member");
     


    while(
    $row=mysql_fetch_array($d1)){


    $salt "trtt";
    $ghe=$gh-100;



    $d=mysql_db_query("$DBName","select * from user"); 


    $DoUpdate=mysql_query("UPDATE user SET salt='$salt' WHERE importuserid=$row[0] and userid BETWEEN '$ghe' and '$gh'"); 







        




    }
     if(!
    $DoUpdate) { echo"عفوا توجد مشكلة في التحديث"; } else { echo" تم تحديث البيانات بنجاح<br>"; }     
    $gh=$gh+100;
    echo
    "<a href=1.php?gh=$gh>الرقم الواصل هو$gh</a>";
    ?>






    __________________
    لا إله إلا الله محمد رسول الله


  2. #2
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    افتراضياً يكون وقت تنفيذ الكود كحد اقصى 30 ثانية, لكن يمكنك تغييرها
    ضع في بداية الملف
    كود PHP:
    ini_set('max_execution_time''180'); 
    وحدد الوقت الذي تريد بالثواني





    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me

  3. #3


    شكرا لك اخي العملاق سأقوم بتجربتها ان شاء الله

    لكن سؤال اخر هل يوجد طريقة غير بيتوين
    لطلب مثلا اول الف ريكورد ثم طلب البعدها وهكذا خاصة انه يوجد لدي اكثر من 185 الف ريكورد في احد الجداول
    لانه كما يبدو ان البيتوين عندما تقوم بعملها فانها كل مرة تفحص 185 الف ريكورد وهذا مايزيد الوقت فهل من دالة تقوم بنفس العمل دون فحص كل السجلات





    __________________
    لا إله إلا الله محمد رسول الله

  4. #4
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    ما استوعبت الكود تمام بس في اشياء اشوف انها ليست ضرورية
    مثلاً اختيار جميع السجلات من جدول "Member" وعمل حلقة while لجميع السجلات لتحديث جدول "user"

    انا مالي خلفية في منتدى vb فلو توضح اكثر, ايش المطلوب بالضبط, عشان اقدر اساعدك ...





    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me

  5. #5


    اخي صحي ان بعض الكودات مالها لازمة بالفعل لكنها تلزم في اجزاء اخرى
    اخي الكريم المهم لدي طريقة كيف اقوم مثلا بتغير احد المتحولات في جدول فيه 18000 ريكورد
    هذا بالختصار وشكرا لك حسن تعاونك
    والسلام عليكم





    __________________
    لا إله إلا الله محمد رسول الله

  6. #6
    عضو نشيط جدا
    تاريخ التسجيل
    Mar 2003
    المشاركات
    305


    جرب هذا الكود, كتبته بسرعة ولم اجربه, اذا اعطاك اخطاء قلي

    غير قيمة المتغير (numUpdatedRows$) بعدد السجلات التي تريد تحديثها في كل دورة
    وأيضاً الجدول الذي تريد تحديث بياناته

    كود PHP:
    ini_set('max_execution_time''180');


    $sql   mysql_query('SELECT COUNT(*) FROM user');
    // مجموع السجلات
    $total mysql_result($sql0);

    // عدد الدورات بناءا على عدد السجلات
    $numLoops ceil($total 100);

    // عدد السجلات التي تريد تحديثها في كل دورة
    $numUpdatedRows 100;
    // اول صف في أول دورة
    $fromID 1;
    // آخر صف في أول دورة
    $toID $numUpdatedRows;

    // القيمة التي تريد وضعها
    $salt "trtt";

    $i 1;
    while(
    $i <= $numLoops)
    {
        
    $check mysql_query("UPDATE user SET salt='$salt' WHERE userid BETWEEN '$fromID' and '$toID'");

        if (
    $check)
        {
            
    $fromID += $numUpdatedRows;
            
    $toID   += $numUpdatedRows;
            
    $i++;

            
    // خليه يرتاح شويه :)
            
    sleep(2);
        }
    }

    if (
    $i $numLoops)
        echo 
    'تم تحديث البيانات بنجاح';
    else
        echo 
    'لم يتم تحديث البيانات'






    __________________
    # مشاريع :
    - الفوائد .. خلاصة العلم والمعرفة
    - غواصة .. اجمع اصدقاءك وابحر بالغواصة

    # مدونتي nawaf.me

  7. #7
    عضو فعال
    تاريخ التسجيل
    Jul 2003
    المشاركات
    1,576


    استطيع التخمين .. انه تم تركيب " جداول اعضاء " وهميين .. بإيميلاتهم

    وكنت تريد ان ترسل إليهم الباسووردات عبر الإيميل .. ولكن قابلتك مشكلة ال salt



    ولهذا كنت تريد تغيير الsalt لشيء معلوم كي يكون الباسووردات معلومة لديك ..


    على اي حال .. ولنفرض حسن النية :

    كود PHP:
    // كما تفضل اخي العملاق بالشرح
    ini_set('max_execution_time''180'); 
    include 
    "config.php";

    // إذا كنت تريد تغيير السالت في جميع السجلات 
    mysql_query("update user set salt='tert'");

    // ما بين رقمين محددين
    mysql_query("update user set salt='tert' where userid>1 AND userid<100"); 






    __________________
    SWF Thumbnail - tweet me

  8. #8


    شكرا لك اخي العملاق تم حل المشكلة بمساعدتك شكرا لك :app:

    ههههههههه اخي بالفعل طريقة ماكانت خاطرة على بالي
    على كل اخي الكريم لا لكن انا قمت بتحويل منتدى في بي زووم الى الفي بي
    وكما تعرف ان الفي بي زووم يستخدم الmd5 دون دمج مع السالت
    لذلك قمت بتوحد السالت واريد ان اقوم بدمجه مع التشفير في الفي بي زووم
    على كل شكرا لك
    هذا هو الموقع

    www.alnabkvb.net/vb
    عن
    www.alnabkvb.net/vz





    __________________
    لا إله إلا الله محمد رسول الله





ضوابط المشاركة

  • لا تستطيع إضافة مواضيع جديدة
  • لا تستطيع الرد على المواضيع
  • لا تستطيع إرفاق ملفات
  • لا تستطيع تعديل مشاركاتك
  •  

أضف موقعك هنا| اخبار السيارات | حراج | شقق للايجار في الكويت | بيوت للبيع في الكويت | دليل الكويت العقاري | مقروء | شركة كشف تسربات المياه | شركة عزل اسطح بالرياض | عزل فوم بالرياض| عزل اسطح بالرياض | كشف تسربات المياة بالرياض | شركة عزل اسطح بالرياض