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

الموضوع: سؤال عن تقسيم الملف المصدر من قاعدة البيانات

  1. #1
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113

    سؤال عن تقسيم الملف المصدر من قاعدة البيانات



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

    كود PHP:
    <? 
    // connect to mySQL server 
    mysql_connect("localhost","root","") or die(mysql_error()); 
    mysql_select_db("mysql") or die(mysql_error()); 

    // create new text file in the same folder 
    $fp fopen(getcwd().'/test.txt',"w"); 

    // run query 
    $query mysql_query("SELECT Host,User,Password FROM user ") or die(mysql_error()); 
      while (
    $data mysql_fetch_array($query)) { 
         
    $data_to_file $data['Host'] .","$data['User'] .","$data['Password'] ."\n"
         
    fputs($fp$data_to_file); 
      } 
       
    // close the new text file 
    fclose($fp); 

    // close mySQL connection 
    mysql_close(); 

    // message 
    echo "تم تصدير البيانات بنجاح <br> <a href='test.txt'>test.txt</a>"
    ?>
    المطلوب ...
    إذا كانت قاعدة البيانات كبيرة جداً تزيد عن ثلاثة آلاف سجل
    أريد جملة منطقية تتحقق من ......
    إذا كان الجدول أقل من خمسمائة سجل
    يتم تصدير ملف واحد
    إذا أكثر من خمسمائة سجل
    يتم تصدير كل خمسمائة سجل في ملف واحد
    وهكذا
    بانتظاركم

    والكود أعلاه من مشاركة للأخ علي العنزي في هذا المنتدى







  2. #2
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


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

    اخي الكريم
    جرب الكود التالي واخبرني بالنتيجة


    كود PHP:
    <? 
    // connect to mySQL server 
    mysql_connect("localhost","root","") or die(mysql_error()); 
    mysql_select_db("mysql") or die(mysql_error()); 

    // create new text file in the same folder 
    $fp fopen(getcwd().'/test1.txt',"w"); 

    //create counter
    $n 1;
    // run query 
    $query mysql_query("SELECT Host,User,Password FROM user ") or die(mysql_error()); 
      while (
    $data mysql_fetch_array($query)) { 
         if(
    $n AND $n 500 == 0
         {
             
    // close the new text file 
             
    fclose($fp); 
             
    $c = ($n 500) + 1;
             
    $fp fopen(getcwd().'/test'.$c.'.txt',"w"); 
         }
         
    $data_to_file $data['Host'] .","$data['User'] .","$data['Password'] ."\n"
         
    fputs($fp$data_to_file); 
         
    $n++;
      } 
       
    // close the new text file 
    fclose($fp); 

    // close mySQL connection 
    mysql_close(); 

    // message 
    echo "تم تصدير البيانات بنجاح <br> <a href='test.txt'>test.txt</a>"
    ?>

    تحياتي لك






    __________________
    مدونتي

  3. #3
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113


    وعليكم السلام ورحمة الله وبركاته
    جميل جداً أخوي mahmoud009
    المسألة انحلت مع وجود خطأ بسيط وهو أن الملف الأول (رقم 1) يضيفه بدون رقم
    وأيضاً يضيفه بدون نقطه قبل اللاحقة
    على سبيل المثال أنا أصدر ملف كتاب مكون من خمسة أجزاء يضيفها بالشكل التالي

    book3501-2.txt
    book3501-3.txt
    book3501-4.txt
    book3501-5.txt
    book3501txtl

    ولو كان الكتاب اقل من خمسمائة سجل يضيفه بهذا الشكل

    book3501txtl

    وهذا ممتاز لو ان اسم الملف ظهر بشكل صحيح

    علماً بأني جعلت اسم الكتاب متغير حسب رقمه في قاعدة البيانات

    المشكلة الثانية في الرابط الذي يظهر في صفحة التصدير كيف نجعله يضيف روابط كل الأجزاء

    هل يمكن أن يكون الحل أن نجعل كل كتاب في مجلد مستقل ؟!






  4. #4
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113


    الكود عندي بهذا الشكل

    كود PHP:
    $query mysql_query("SELECT text,no FROM booktable ") or die(mysql_error());



      while (
    $data mysql_fetch_array($query)) { 
      if(
    $n AND $n 500 == 0)  
         { 
             
    // close the new text file  
             
    fclose($fp);  
             
    $c = ($n 500) + 1
             
    $fp fopen(getcwd()."/temp/".$bookfilename."-".$c.".text","w");  
         } 
         
    $data_to_file $data['text'] ."<br>"$data['no'] ."<br><br>"
         
    fputs($fp$data_to_file); 
           
    $n++; 
      } 

       
    // close the new text file 
    fclose($fp); 

    // close mySQL connection 
    mysql_close(); 

    // message 
    echo "تم تصدير البيانات بنجاح <br> <a href='temp/$bookfilename'>استخدم الرابط التالي لتحميل أو استعراض الملف</a>"
    طبعاً مع تغيير في أسماء المتغيرات والحقول لزوم السكيوريتي






  5. #5
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


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

    الكود الأخير الذي تستعمله ناقص

    فلو تلاحظ نحن نستخدم الدالة fopen مرتين في الكود..

    مرة داخل حلقة التكرار ومرة خارجها





    __________________
    مدونتي

  6. #6
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113


    مضبوط كلامك 100%
    بقي فقط مشكلة الروابط

    كود PHP:
    // message 
    echo "تم تصدير البيانات بنجاح <br> <a href='temp/$book_file_name'>استخدم الرابط التالي لتحميل أو استعراض الملف</a>"
    كيف يمكن أن نطبع أسطر للروابط على عدد الأجزاء اللي أنشاء - عدد الملفات يعني؟






  7. #7
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113


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






  8. #8
    عضو فعال جدا
    تاريخ التسجيل
    Apr 2002
    المشاركات
    2,046


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

    أخي العزيز جرب الكود التالي

    وأخبرني بالنتيجة


    كود PHP:
    mkdir(getcwd()."/temp/"."part".$c);
    $files[] = getcwd()."/temp/part".$c."/".$book_file_name.".html";
    $fp fopen(getcwd()."/temp/part".$c."/".$book_file_name.".html","w");  

    $query mysql_query("SELECT text,no FROM booktable ") or die(mysql_error()); 

      while (
    $data mysql_fetch_array($query)) {  
      if(
    $n AND $n 500 == 0)   
         {  
             
    // close the new text file   
             
    fclose($fp);   
             
    $c = ($n 500) + 1;  
             
    $files[] .= getcwd()."/temp/part".$c."/".$bookfilename."-".$c.".text";
             
    $fp fopen(getcwd()."/temp/part".$c."/".$bookfilename."-".$c.".text","w");   
         }  
         
    $data_to_file $data['text'] ."<br>"$data['no'] ."<br><br>";  
         
    fputs($fp$data_to_file);  
           
    $n++;  
      }  

    // close the new text file  
    fclose($fp);  

    // close mySQL connection  
    mysql_close();  

    // message  
    echo "تم تصدير البيانات بنجاح <br>"
    $cc 1;
    while(
    $rabet current($files))
    {
    echo 
    "<a href=\"$rabet\">تحميل $cc</a><br>";  
    $cc++;

    تحياتي لك





    __________________
    مدونتي

  9. #9
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113


    يعطي خطأ متكرر

    Warning: fputs(): supplied argument is not a valid stream resource in /home/islammes/public_html/booksww/wwww.php on line 22

    Warning: fputs(): supplied argument is not a valid stream resource in /home/islammes/public_html/booksww/wwww.php on line 22

    Warning: fputs(): supplied argument is not a valid stream resource in /home/islammes/public_html/booksww/wwww.php on line 22

    Warning: fputs(): supplied argument is not a valid stream resource in /home/islammes/public_html/booksww/wwww.php on line 22

    Warning: fputs(): supplied argument is not a valid stream resource in /home/islammes/public_html/booksww/wwww.php on line 22


    على عدد السجلات

    و

    تحميل 9084
    تحميل 9085
    تحميل 9086
    تحميل 9087
    تحميل 9088
    تحميل 9089
    تحميل 9090
    تحميل 9091
    تحميل 9092
    تحميل 9093
    تحميل 9094
    تحميل 9095
    تحميل 9096
    تحميل 9097

    على عدد السجلات

    يبدو أن فيه خلل في اللوب






  10. #10
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113


    أخوي mahmoud009
    بلاش الفولدر خلينا في الملفات فقط
    المطلوب بس إظهار روابط لعدد أجزاء الملف المصدر ، مثلا إذا تم تصدير الملف الى خمسة أجزاء يعطيني خمسة اسطر






  11. #11
    عضو نشيط
    تاريخ التسجيل
    Sep 2005
    المشاركات
    113


    كل الشكر للأخ الفاضل mahmoud009 الذي قدم الحل كاملاً لهذه المشكلة
    لكن سوالف تغيرت لم تعد كما كانت سابقاً ، هناك أسماء كثيرة افتقدنا مشاركاتها










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

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

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