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

الموضوع: مساعدة في ادخال اكثر من مليون رقم الى قاعدة البيانات

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    232

    مساعدة في ادخال اكثر من مليون رقم الى قاعدة البيانات



    السلام عليكم ورحمة الله
    ببساطة اخواني لدي ملفات txt بداخلها ارقام مقسمة الى 3 صفوف , مثال :

    060081000 8921200030008883245 08441434
    060081464 8921200030008883252 50558512
    060081465 8921200030008883260 17246488
    060081466 8921200030008883278 12568881

    وكما قلت لكم فهناك ازيد من مليون سطر !!

    واود ادخال هده الاعداد الى قاعدة البيانات
    وقد قمت سابقا بادخال بعض الارقام ونجحت بفضل الله لكن كانت الاعداد مقسمة الى صفين
    مثال :

    060081000 08441434

    وقد استعملت الامر foreach على هذا الشكل

    كود PHP:
    $files = array();
    // write all your file names
    $files[] = "test.txt";
    ///
    foreach($files as $file){
        
    $content file($file);
        foreach(
    $content as $line){
            list(
    $num,$puk) = explode(" ",$line);
            
    mysql_query("INSERT INTO dalil ( num, puk ) values ('$num','$puk')");
        }

    لكن عندما اردت ادخال الاعداد مقسمة الى 3 صفوف لم تنجح
    اود منكم تقديم يد المساعدة وجزاكم الله الف خير







  2. #2

    محاولة في المساعدة



    السلام عليكم و رحمة الله و بركاته

    أنا قبل فترة احتجت نفس الكود تقريباً وقدرت ادخل الداتا في الجداول ...
    لكن الاختلاف انه البيانات اللي كنت بدي ادخلها كانت على هيئة ملف إكسل
    وكان الكود كالتالي أتمنى إنه يفيدك

    كود PHP:
    $fp fopen ('myfile.csv''r');
    while (!
    feof ($fp)){
        
    $row fgets ($fp4096);
        
    $data explode ("\""$row);
        
    $data[9] = addslashes ($data[9]);
        
    $query=mysql_query("insert into table_name VALUES ('$data[1]','$data[2]','$data[3]','$data[4]','$data[5]','$data[6]','$data[7]','$data[8]')");
    }
    if(
    $query){
        echo
    "done!";
    }
    fclose ($fp); 






    التعديل الأخير تم بواسطة greatsami ; 20-09-2008 الساعة 04:33 PM

  3. #3
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    255


    السلام عليكم ورحمة الله
    ببساطة اخواني لدي ملفات txt بداخلها ارقام مقسمة الى 3 صفوف , مثال :

    060081000 8921200030008883245 08441434
    060081464 8921200030008883252 50558512
    060081465 8921200030008883260 17246488
    060081466 8921200030008883278 12568881

    وكما قلت لكم فهناك ازيد من مليون سطر !!

    واود ادخال هده الاعداد الى قاعدة البيانات
    وقد قمت سابقا بادخال بعض الارقام ونجحت بفضل الله لكن كانت الاعداد مقسمة الى صفين
    مثال :

    060081000 08441434

    وقد استعملت الامر foreach على هذا الشكل

    كود PHP:
    $files = array();
    // write all your file names
    $files[] = "test.txt";
    ///
    foreach($files as $file){
        
    $content file($file);
        foreach(
    $content as $line){
            list(
    $num,$puk) = explode(" ",$line);
            
    mysql_query("INSERT INTO dalil ( num, puk ) values ('$num','$puk')");
        }

    لكن عندما اردت ادخال الاعداد مقسمة الى 3 صفوف لم تنجح
    اود منكم تقديم يد المساعدة وجزاكم الله الف خير
    طيب هو كل سطر محتوياته ايه بالظبط ؟





    __________________
    وفوق كل ذي علم عليم !..

  4. #4
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    232


    كل سطر يحتوي على رقم هاتف متبوعا بالرقم التسلسلي للبطاقة ثم رمز puk






  5. #5
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    32


    فيه فكرة عندي ..

    استبدل الفراغات الثلاثة في كل سطر إلى علامة مثلا #
    وبعدين استخدم foreach ومعاها explode على كل سطر

    الكود ، ماجربته بصراحة اتمنى اني افدتك بشي
    كود PHP:
    $files = array();
    // write all your file names
    $files[] = "test.txt";
    ///
    foreach($files as $file){
        
    $content file($file);
        foreach(
    $content as $line){
    $master str_replace(" ""#"$line);  
    $todalil explode ("#"$master); 
    mysql_query("INSERT INTO dalil ( num, puk ,ets ) values ('$todalil[1]','$todalil[2]','$todalil[3]')");
        }








  6. #6
    عضو شرف
    تاريخ التسجيل
    May 2007
    المشاركات
    1,647


    فيه فكرة عندي ..

    استبدل الفراغات الثلاثة في كل سطر إلى علامة مثلا #
    وبعدين استخدم foreach ومعاها explode على كل سطر

    الكود ، ماجربته بصراحة اتمنى اني افدتك بشي
    كود PHP:
    $files = array();
    // write all your file names
    $files[] = "test.txt";
    ///
    foreach($files as $file){
        
    $content file($file);
        foreach(
    $content as $line){
    $master str_replace(" ""#"$line);  
    $todalil explode ("#"$master); 
    mysql_query("INSERT INTO dalil ( num, puk ,ets ) values ('$todalil[1]','$todalil[2]','$todalil[3]')");
        }

    طيب ليش استبدلت؟ كنت سويت explode بدلالة الفراغات بدل ما تستبدله إلى # بعدين تعمل explode له ؟!





    __________________
    # اتبعني على Twitter
    # عِرفان ساهم ببناء المحتوى العربي العلمي على الإنترنت!

  7. #7
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    108


    السؤال هنا كيف تريد شكل ادخال ثلاث ارقام لقاعدة بيانات تحتوي على عمودين ؟! اما اذا كنت تريد دمج رقم اول مع ثاني فهذه مسئله بسيطه او انشء عمود ثالث
    كود PHP:
    $files = array();
    // write all your file names
    $files[] = "test.txt";
    ///
    foreach($files as $file){
        
    $content file($file);
        foreach(
    $content as $line){
            
    $nums explode(" ",$line);

            
    $num$nums[0];
            
    $puk=$num[1];
            
    $ser=$num[2];
            
    //اعمل الي تريده بهذه متغيرات
            
    mysql_query("INSERT INTO dalil ( num, puk ) values ('$num','$puk')");
        }








  8. #8
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    108


    ارجو حذفها مشاركه مكرره للسابقه





    التعديل الأخير تم بواسطة احمد شكر ; 22-09-2008 الساعة 03:11 AM

  9. #9
    عضو نشيط
    تاريخ التسجيل
    May 2007
    المشاركات
    32


    طيب ليش استبدلت؟ كنت سويت explode بدلالة الفراغات بدل ما تستبدله إلى # بعدين تعمل explode له ؟!
    هههههههه :funny: وربي قعدت اضحك على نفسي الظاهر الصيام عامل عمايله فيني
    صدقت بالملاحظة .. واشكرك عليها ، والحمدلله طالما هذي بس الملاحظة يعني الكود تمام
    وجل من لا يسهو ..:looking:






  10. #10
    عضو نشيط
    تاريخ التسجيل
    Jan 2008
    المشاركات
    232


    شكرا اخواني على تقديم يد المساعدة
    في الحقيقة الطريقة نجحت ولله الحمد بعد ان اضفت فراغا بعد الوسمين
    "" وقبل الفاصلة التي يتبعها المتغير line$










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

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

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