اخواني محتاج مساعدة
السلام عليكم ورحمة الله
احتاج الى كود وطريقة :
- عندي صفحة بيانات يتم استخراجها من قاعدة البيانات أريد أن أنجز رابطا للصفحة بحيث تصدر البيانات على شكل ملف مضغوط
- نفس الطلب لكن يتم تصدير الملف على شكل ملف أكسل ؟
وجزاكم الله خيرا على المساعدة
20-06-2005, 04:14 AM
مشرف قسم تطوير المواقع
#2
بالنسبة للطلب الأول
http://www.swalif.net/softs/showthread.php?t=108200
الطلب الثاني :
جرب هذه
كود PHP:
<?php
// استدعاء الملف الي فيه اتصال بقاعدة البيانات
include( '../../plantes/lib/mysql.php' );
// تعداد و استخراج أسماء الحقول
$result = mysql_query ( 'select * from ira_milieu' );
$count = mysql_num_fields ( $result );
for ( $i = 0 ; $i < $count ; $i ++){
$n_fields .= mysql_field_name ( $result , $i ). "\t" ;
}
// استخراج البيانات
while( $row = mysql_fetch_row ( $result )){
$ln = '' ;
foreach( $row as $value ){
if(!isset( $value ) || $value == "" ){
$value = "\t" ;
}else{
$value = str_replace ( '"' , '""' , $value );
$value = '"' . $value . '"' . "\t" ;
}
$ln .= $value ;
}
$info .= trim ( $ln ). "\n" ;
}
$info = str_replace ( "\r" , "" , $info );
if ( $info == "" ) {
$info = "\nلا يوجد بيانات\n" ;
}
// ارسال الheaders ك vnd/ms-excel
header ( "Content-Type: application/vnd.ms-excel; name='excel'" );
header ( "Content-Disposition: attachment; filename=excelfile.xls" );
$xls = $n_fields . "\n" . $info ;
print $xls ;
?>
الأفضل عندي هو التعامل مع البيانات و استخراجها CSV
__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
20-06-2005, 06:31 AM
شكرا أخي د. دري ..
لماذا تفضل csv؟ أحتاج أن أعرف لأن إحصائيات رتب تصدر xls حاليا .. فها هناك مميزات للنوع الأول؟
__________________
....
محمد حسام
انترنت بلس
20-06-2005, 10:18 AM
أستاذي الفاضل Dr-dre67
شكرا لك
ردك في الموضوع أسعدني
شكرا مجددا
---------------------------------------------------------------------------
أخي أنترنت بلس
نورت الموضوع
--------------------------------------------------------------------------
سؤال آخر لو سمحتم:
كيف أبرمج مثل هذا التعدد:
كود:
[1] [2] [3] [4] [5] التالي ...
...السابق [1] [2] [3] [4] [5] وجزاكم الله خيرا
20-06-2005, 12:16 PM
كود PHP:
Warning : mysql_num_fields (): supplied argument is not a valid MySQL result resource in / home / www / public_html / xls . php on line 6
Warning : mysql_fetch_row (): supplied argument is not a valid MySQL result resource in / home / www / public_html / xls . php on line 11
Warning : Cannot modify header information - headers already sent by ( output started at / home / www / public_html / xls . php : 6 ) in / home / www / public_html / xls . php on line 34
Warning : Cannot modify header information - headers already sent by ( output started at / home / www / public_html / xls . php : 6 ) in / home / www / public_html / xls . php on line 35
?? ???? ??????
اخي جربت الكود وحصلت على أخطاء
علما أنني عدلت config
وشكرا مجددا
20-06-2005, 12:26 PM
بعد عدة تجارب حصلت على هذا الخطأ
كود PHP:
Table 'oznet_esto.etudiant' doesnt exist
علما أن القاعدة موجودة واسمها etudiant
20-06-2005, 12:50 PM
مشرف قسم تطوير المواقع
#7
إقتباس:
المشاركة الأصلية بواسطة داعية
بعد عدة تجارب حصلت على هذا الخطأ كود PHP:
Table 'oznet_esto.etudiant' doesnt exist
علما أن القاعدة موجودة واسمها etudiant
هل مزال هنالك خطأ ؟
__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
20-06-2005, 12:54 PM
مشرف قسم تطوير المواقع
#8
إقتباس:
المشاركة الأصلية بواسطة داعية
كود PHP:
Warning : mysql_num_fields (): supplied argument is not a valid MySQL result resource in / home / www / public_html / xls . php on line 6
Warning : mysql_fetch_row (): supplied argument is not a valid MySQL result resource in / home / www / public_html / xls . php on line 11
Warning : Cannot modify header information - headers already sent by ( output started at / home / www / public_html / xls . php : 6 ) in / home / www / public_html / xls . php on line 34
Warning : Cannot modify header information - headers already sent by ( output started at / home / www / public_html / xls . php : 6 ) in / home / www / public_html / xls . php on line 35
?? ???? ??????
اخي جربت الكود وحصلت على أخطاء
علما أنني عدلت config
وشكرا مجددا
ممكن تحط لنا xls.php هنا ?
اخي أنترنت بلس بالنسبة للCSV افضلها لأنها نوعية بالإمكان ادماجها و زرعها و استخراجها في اغلب برامج ادارة قواعد البيانات و الxls و csv هما تقنيا نفس الشيء في الأستخراج لكن في استرجاع البيانات الموجودة فيها مرة ثانية يختلف الأمر
الصور المرفقة 2.gif (6.2 كيلوبايت, 174 مشاهدة) 1.gif (3.3 كيلوبايت, 170 مشاهدة)
__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
20-06-2005, 01:52 PM
فضل اخي الملف وشكرا مسبقا
ومازل الخطأ يظهر لي يفيد بعدم وجود جدول في القاعدة
كود PHP:
<?php
// http://da3ya.net
// Par: Da3ya
// Date: 20 Juin 2005
// Email: info@da3ya.net
// Script: xls.php
// Start Variables :
$DB [ 'Host' ] = 'localhost' ;
$DB [ 'User' ] = 'da3ya' ;
$DB [ 'Pass' ] = '******' ;
$DB [ 'Name' ] = 'da3ya_php' ;
// Connect Whih DataBase :
MySQL_Connect ( $DB [ 'Host' ], $DB [ 'User' ], $DB [ 'Pass' ])
Or Die( MySQL_Error ());
MySQL_Select_DB ( $DB [ 'Name' ])
Or Die( MySQL_Error ());
$result = mysql_query ( 'select * from etudiant' )
or die( mySQL_error ());
$count = mysql_num_fields ( $result );
for ( $i = 0 ; $i < $count ; $i ++){
$n_fields .= mysql_field_name ( $result , $i ). "\t" ;
}
// ??????? ????????
while( $row = mysql_fetch_row ( $result )){
$ln = '' ;
foreach( $row as $value ){
if(!isset( $value ) || $value == "" ){
$value = "\t" ;
}else{
$value = str_replace ( '"' , '""' , $value );
$value = '"' . $value . '"' . "\t" ;
}
$ln .= $value ;
}
$info .= trim ( $ln ). "\n" ;
}
$info = str_replace ( "\r" , "" , $info );
if ( $info == "" ) {
$info = "\nلا يوجد بيانات\n" ;
}
// ارسال الheaders ك vnd/ms-excel
header ( "Content-Type: application/vnd.ms-excel; name='excel'" );
header ( "Content-Disposition: attachment; filename=excelfile.xls" );
$xls = $n_fields . "\n" . $info ;
print $xls ;
?>
20-06-2005, 02:28 PM
مشرف قسم تطوير المواقع
#10
اذن تثتب في الجدول اخي الكريم
ثم اعد الكرة مرة ثانية لأني جربت بالكود الذي انت نسخته معي و شغالة تمام
__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
20-06-2005, 02:44 PM
جزاك الله خيرا اخي سأجرب الان
20-06-2005, 05:09 PM
كود PHP:
--
-- Table structure for table ` etudiant `
--
CREATE TABLE ` etudiant ` (
` id ` int ( 15 ) NOT NULL auto_increment ,
` CIN ` varchar ( 20 ) NOT NULL default '' ,
` prenom ` varchar ( 20 ) NOT NULL default '' ,
` nom ` varchar ( 20 ) NOT NULL default '' ,
` lieu ` varchar ( 20 ) NOT NULL default '' ,
` date_naissance ` varchar ( 15 ) NOT NULL default '' ,
` adresse_parents ` varchar ( 200 ) NOT NULL default '' ,
` telephone ` varchar ( 12 ) NOT NULL default '' ,
` CNE ` varchar ( 15 ) NOT NULL default '' ,
` id_baccalaureat ` varchar ( 15 ) NOT NULL default '' ,
` annee_obtention ` varchar ( 20 ) NOT NULL default '' ,
` lycee ` varchar ( 15 ) NOT NULL default '' ,
` adresse_lycee ` varchar ( 200 ) NOT NULL default '' ,
` academie ` varchar ( 20 ) NOT NULL default '' ,
` delegation ` varchar ( 20 ) NOT NULL default '' ,
` id_departement ` varchar ( 15 ) NOT NULL default '' ,
PRIMARY KEY (` id `,` CIN `),
KEY ` id_departement ` (` id_departement `),
KEY ` id_baccalaureat ` (` id_baccalaureat `)
) TYPE = MyISAM AUTO_INCREMENT = 8 ;
--
-- Dumping data for table ` etudiant `
--
المشكلة أن الخطأ يقول أنه لا توجد هذه القاعدة
كود PHP:
Table 'wwwesto_esto.etudiant' doesnt exist
20-06-2005, 05:10 PM
وأخيرا ...
كود PHP:
id CIN prenom nom lieu sexe date_naissance adresse_parents adresse_personelle telephone CNE id_baccalaureat annee_obtention lycee adresse_lycee academie delegation id_departement
النتيجة اسماء الحقول الموجودة في الجدول
هل الكود ناقص ؟ وشكرا لك اخي اتعبتك معي
20-06-2005, 05:13 PM
مشرف قسم تطوير المواقع
#14
جربت بنفس الجدول و نفس الكود الي حطيته انت و كل شي تمام عندي
بإمكانك ان تجرب
http://www.phptunisia.com/da3ya/da3ya.php
__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
20-06-2005, 05:50 PM
اخي فتحت الملف الذي ارفقته
عمل عظيم
جزاك الله خيرا افكارك تنم عن احترافية كبيرة في البرمجة
سأجرب إلى أن أنجح إن شاء الله
أتمنى أن أحصل على جواب عن هذا السؤال وشكرا من كل قلبي
كيف أبرمج مثل هذا التعدد:
كود:
[1] [2] [3] [4] [5] التالي ...
...السابق [1] [2] [3] [4] [5]
20-06-2005, 06:00 PM
مشرف قسم تطوير المواقع
#17
ما شاء الله اشتغلت معاك مبروك يا عم
هذه الدالة لتقسيم النتائج حسب الصفحات مثل ما طلبت
كود PHP:
$DB [ 'Host' ] = 'localhost' ;
$DB [ 'User' ] = 'da3ya' ;
$DB [ 'Pass' ] = '******' ;
$DB [ 'Name' ] = 'da3ya_php' ;
// Connect Whih DataBase :
MySQL_Connect ( $DB [ 'Host' ], $DB [ 'User' ], $DB [ 'Pass' ])
Or Die( MySQL_Error ());
MySQL_Select_DB ( $DB [ 'Name' ])
Or Die( MySQL_Error ());
// سيتم عرض 25 نتيجة في كل صفحة
$npage = 25 ;
$query = "SELECT * FROM dre_pages ORDER BY id" ;
$pg = $_GET [ 'go' ];
if ( $pg == "" ) {
$pg = $npage ;
}
elseif (! is_numeric ( $pg )) {
$pg = $npage ;
}
$total = $pg ;
$limit = "0, $total" ;
$count = 1 ;
$v_sql = mysql_query ( "$query" ) or die ( "ÎØÇÁ: $v_sql" . mysql_error ());
$all_pages = ceil ( mysql_num_rows ( $v_sql ) / $total );
$v_offset = $_GET [ 'offset' ];
if ( get_magic_quotes_gpc () == 0 ) {
$v_offset = addslashes ( $v_offset );
}
if (! is_numeric ( $v_offset )) {
$v_offset = 1 ;
}
if ( $v_offset > $all_pages ) {
$v_offset = 1 ;
}
if ( $v_offset == "1" ) {
$limit = "0, $total" ;
}
elseif ( $v_offset <> "" ) {
for ( $i = 0 ; $i <= ( $v_offset - 1 ) * $total ; $i ++) {
$limit = "$i, $total" ;
$count = $i + 1 ;
}
}
$sql = mysql_query ( "$query LIMIT $limit" ) or die ( "خطأ في : $sql" . mysql_error ());
while ( $row = mysql_fetch_object ( $sql )) {
echo "$count. <a href=\"$row->url\">$row->value</a><br />\r\n" ;
$count += 1 ;
}
echo "<br /><br />\r\n" ;
if ( $v_offset <> 1 ) {
$prev = $v_offset - 1 ;
echo "[ < <a href=\"?offset=$prev&go=$pg\">السابق</a> ] \r\n" ;
}
for ( $i = 1 ; $i <= $all_pages ; $i ++) {
if ( $i == $v_offset ) {
echo "[<b> $i </b>] \r\n" ;
} else {
echo "[ <a href=\"?offset=$i&go=$pg\">$i</a> ] \r\n" ;
}
}
if ( $v_offset < $all_pages ) {
$next = $v_offset + 1 ;
echo "[ <a href=\"?offset=$next&go=$pg\">التالي</a> > ] \r\n" ;
}
echo "<br><br>\r\n" ;
echo "الصفحة $v_offset من $all_pages<br />\r\n" ;
__________________
-{Only God Can Judge Me}-
القانون فوق الجميع و الجميع يموت بالجوع
20-06-2005, 11:10 PM
جزاك الله خيرا
والله أفرحتني
لا تتصور كما أنا مسرور بهذا العمل لأنني كنت ابحث عته من زمان
وقلت أجرب حظي في طرح الموضوع
جزاك الله خيرا اخي الكريم
وسأجرب التعدد
20-06-2005, 11:48 PM
جزاك الله خيرا اخي د.دري على هذا المجهود الواضح والرائع ..
__________________
....
محمد حسام
انترنت بلس
21-06-2005, 01:26 AM
جزاك الله خير يا Dr-dre67
وجعله الله بميزان اعمالك
تحياتي لك
21-06-2005, 02:54 AM
وكيف تعمل هذه الطريقة مع النص العربي ؟
30-04-2011, 02:33 PM