الخميس، 22 ديسمبر 2016

استيراد جدول من القاعدة الى ملف Excel

استيراد جدول من القاعدة الى ملف Excel 



اليوم سنتعرف على كيفية حفظ جدول في القاعدة بكل محتووياته الى ملف csv .
الامر ليس بالمعقد
في البداية ننشئ ملف excel بصيغة csv وهي من صيغ ملفات excel
نضع بعض الاسطر في الملف على الشكل التالي

   
نحفظ الملف بصيغة csv في سطح المكتب
   
الان لو فتحنا الملف باي محرر نصوص عادي سنجد محتواه على الشكل التالي

PHP كود :
id;name
1
;youssef
2
;Bo SaQer
3
;Abo saher 
اي انه يفرق بين كل صف و اخر ب الفاصلة المنقوطة و بكل سطر بواسطة سطر جديد
الان ننتقل الى حفظ جدول عندي في القاعدة
انا عندي الجدول التالي في القاعدة

   
نبدا في انشاء ملف جديد بصيغة PHP
في البداية نتصل بالقاعدة

PHP كود :
$connect mysql_connect('localhost','root','root');mysql_select_db('test',$connect); 
ننشئ متغير باي اسم تريد
PHP كود :
$result "id;name"
لو لاحظت فان id هو الحقل الاول و سنفصل بينه وبين الحقل الثاني بواسطة ; ثم نضع الحقل الثاني
الان اول شيئ نضع استعلام لجلب البيانات من القاعدة
PHP كود :
$Query mysql_query("SELECT * FROM users ORDER BY id ASC"); 
حلقة تكرار من اجل اضافة البيانات على المتغير result
PHP كود :
while($Rows mysql_fetch_assoc($Query)){
  
سيضيف على المتغير عبر الطريقة التالي
PHP كود :
$result .= "\n".$Rows['id'].";".$Rows['name']; 
\n تعني سطر جديد و تعمل فقط بين "" و ليس بين '' تمام استخرجنا الحقول وفرقنا بينها بواسطة الفاصلة المنقوطة
الان نغلق الاتصال ونفرغ الذاكرة من الاستعلام
PHP كود :
mysql_free_result($Query);mysql_close($connect); 
الان سنخبره بنوع الملف
PHP كود :
header("Content-Type: application/csv"); 
نوع الملف هو application/csv اي ملف csv
الان نتمم
PHP كود :
header('Content-Disposition: attachment; filename="backup.csv";'); 
Content-Disposition: attachment
اي النوع هو مرفق , يعني سيتم تحميله
filename="backup.csv" اسم الملف مع الصيغة , اي الملف الذي سيحمل ما اسمه
حجم الملف
PHP كود :
header("Content-Length: ".strlen($result)); 

استعملنا الدالة strlen من اجل عد عدد الاحرف في المتغير result
في النهاية , نطبع المتغير result
PHP كود :
echo $result
لاننا حولنا نوع الملف csv , و اعطيناه اسم و جعلناه مرفق للتحميل , وحددنا حجمه يبقى فقط محتواه , وبما اننا غيرنا نوع المحتوى الى csv فان اي طباعة بعد
PHP كود :
header("Content-Type: application/csv"); 
ستظاف في الملف الذي سيحمل و لن تطبع في الصفحة
الان جرب الصفحة

استيراد جدول من القاعدة الى ملف Excel Rating: 4.5 Diposkan Oleh: فيصل

0 التعليقات:

إرسال تعليق

صور بجانب الموضوع