ايمن ميلاد نشر 16 ديسمبر 2023 أرسل تقرير نشر 16 ديسمبر 2023 السلام عليكم لدي جدول اعرض فيه بيانات سوف اعمل زر طباعة بجوار زر تعديل وحدف اريد مكتبة تنفد لي طباعة سطر معين او كل الجدول مثال برنامج كريستال ريبورت في تطبيقات سطح مكتب بحيث اضيف عنوان تقرير وfooter تقرير وانسق تقرير كيف ماريد استخدم php mysqli ياريت افادتي اخواني كرام اخوكم جديد علي لغة php 1 اقتباس
0 Adnane Kadri نشر 16 ديسمبر 2023 أرسل تقرير نشر 16 ديسمبر 2023 كفكرة، قم بإنشاء صفحة PHP جديدة بحيث تعرض هذا السطر بشكل HTML، وضف عليها التنسيقات اللازمة وفي الأخير قم بطباعتها بوساطة جافاسكربت. مثال: ننشئ صفحة PHP جديدة، نقوم فيها بالاستعلام عن البيانات المرادة، ونقوم بعرضها فيها منسقة: // print-page.php <?php // الاتصال بقاعدة البيانات $conn = new mysqli("localhost", "اسم المستخدم", "كلمة المرور", "اسم قاعدة البيانات"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // استعلام لاسترجاع البيانات $id = $_GET['id']; $sql = "SELECT * FROM اسم_الجدول WHERE id=".$id; $result = $conn->query($sql); // إضافة البيانات إلى التقرير $html = '<h1>عنوان التقرير</h1>'; $html .= '<table border="1" cellpadding="5">'; $html .= '<tr><th>عنوان العمود1</th><th>عنوان العمود2</th><th>عنوان العمود3</th></tr>'; while ($row = $result->fetch_assoc()) { $html .= '<tr>'; $html .= '<td>' . $row['اسم_العمود1'] . '</td>'; $html .= '<td>' . $row['اسم_العمود2'] . '</td>'; $html .= '<td>' . $row['اسم_العمود3'] . '</td>'; $html .= '</tr>'; } $html .= '</table>'; $html .= '<div style="text-align:center;">تاريخ الطباعة: ' . date('Y-m-d H:i:s') . '</div>'; الآن قم باضافة الزر الى الجدول الخاص بك: <button id="download" onclick="printPage(10)"> تحميل </button> وضف حدث الطباعة على النحو التالي: function printPage(id) { // استخدام XMLHttpRequest لجلب محتوى الصفحة الخارجية var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // إنشاء نافذة جديدة تحتوي على محتوى الصفحة var printWindow = window.open('', '_blank'); printWindow.document.write(xhr.responseText); // انتظر حتى يتم تحميل الصفحة بشكل كامل ثم قم بطباعتها printWindow.onload = function() { printWindow.print(); }; } }; xhr.open('GET', '/print-page.php?id=' + id, true); xhr.send(); } اقتباس
0 Ahmed Elmrsawy نشر 17 ديسمبر 2023 أرسل تقرير نشر 17 ديسمبر 2023 بتاريخ 11 ساعة قال ايمن ميلاد: اريد مكتبة تنفد لي طباعة سطر معين او كل الجدول مثال برنامج كريستال ريبورت في تطبيقات سطح مكتب بحيث اضيف عنوان تقرير وfooter تقرير وانسق تقرير كيف ماريد استخدم php mysqli السلام عليكم , يمكنك تنفيذ ذلك باستعمال مكتبة مثل jsPdF و هي مكتبة جافاسكريبت , يمكنك أيضا استعمال العديد من المكاتب الأخرى و لكن بتجربتي وجدت أنها الأسلس , و هي تؤدي الى استخراج الجدول في شكل pdf و هذا مثال على الكود : import jsPDF from "jspdf"; const downloadPDF = () => { setNumberOfRows(wishList?.length); setTimeout(() => { const capture = document.querySelector(".table-to-print"); setLoader(true); html2canvas(capture).then((canvas) => { const imgData = canvas.toDataURL("img/png"); const doc = new jsPDF("p", "mm", "a4"); const componentWidth = doc.internal.pageSize.getWidth(); const componentHeight = doc.internal.pageSize.getHeight(); doc.addImage(imgData, "PNG", 0, 0, componentWidth, componentHeight); setLoader(false); doc.save("table.pdf"); setNumberOfRows(10); }); }, 100); }; و يمكنك استخدام مكتبة xlsx لاستخراج البيانات في excel sheet و هذا مثال أخر : import * as XLSX from "xlsx"; const exportExel = (data) => { const workSheet = XLSX.utils.json_to_sheet(data); const workBook = XLSX.utils.book_new(data); XLSX.utils.book_append_sheet(workBook, workSheet, `test`); //Buffer XLSX.write(workBook, { bookType: "xlsx", type: "buffer" }); //Binary string XLSX.write(workBook, { bookType: "xlsx", type: "binary" }); //Download XLSX.writeFile(workBook, "report.xlsx"); }; اقتباس
0 ايمن ميلاد نشر 17 ديسمبر 2023 الكاتب أرسل تقرير نشر 17 ديسمبر 2023 بتاريخ 15 ساعة قال Adnane Kadri: كفكرة، قم بإنشاء صفحة PHP جديدة بحيث تعرض هذا السطر بشكل HTML، وضف عليها التنسيقات اللازمة وفي الأخير قم بطباعتها بوساطة جافاسكربت. مثال: ننشئ صفحة PHP جديدة، نقوم فيها بالاستعلام عن البيانات المرادة، ونقوم بعرضها فيها منسقة: // print-page.php <?php // الاتصال بقاعدة البيانات $conn = new mysqli("localhost", "اسم المستخدم", "كلمة المرور", "اسم قاعدة البيانات"); if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } // استعلام لاسترجاع البيانات $id = $_GET['id']; $sql = "SELECT * FROM اسم_الجدول WHERE id=".$id; $result = $conn->query($sql); // إضافة البيانات إلى التقرير $html = '<h1>عنوان التقرير</h1>'; $html .= '<table border="1" cellpadding="5">'; $html .= '<tr><th>عنوان العمود1</th><th>عنوان العمود2</th><th>عنوان العمود3</th></tr>'; while ($row = $result->fetch_assoc()) { $html .= '<tr>'; $html .= '<td>' . $row['اسم_العمود1'] . '</td>'; $html .= '<td>' . $row['اسم_العمود2'] . '</td>'; $html .= '<td>' . $row['اسم_العمود3'] . '</td>'; $html .= '</tr>'; } $html .= '</table>'; $html .= '<div style="text-align:center;">تاريخ الطباعة: ' . date('Y-m-d H:i:s') . '</div>'; الآن قم باضافة الزر الى الجدول الخاص بك: <button id="download" onclick="printPage(10)"> تحميل </button> وضف حدث الطباعة على النحو التالي: function printPage(id) { // استخدام XMLHttpRequest لجلب محتوى الصفحة الخارجية var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // إنشاء نافذة جديدة تحتوي على محتوى الصفحة var printWindow = window.open('', '_blank'); printWindow.document.write(xhr.responseText); // انتظر حتى يتم تحميل الصفحة بشكل كامل ثم قم بطباعتها printWindow.onload = function() { printWindow.print(); }; } }; xhr.open('GET', '/print-page.php?id=' + id, true); xhr.send(); } انا عملت زر تحميل داخل جدول لكن دالة لاتعمل <?php // الاتصال بقاعدة البيانات include 'database.php'; include 'navbar.php'; // استعلام لاسترجاع البيانات $id = $_GET['id']; $sql = "SELECT * FROM `student` WHERE id=".$id; $result = $conn->query($sql); // إضافة البيانات إلى التقرير $html = '<h1> درجات الطالب</h1>'; $html .= '<table border="1" cellpadding="5">'; $html .= '<tr><th>عنوان العمود1</th><th>عنوان العمود2</th><th>عنوان العمود3</th></tr>'; while ($row = $result->fetch_assoc()) { $html .= '<tr>'; $html .= '<td>' . $row['fname'] . '</td>'; $html .= '<td>' . $row['course_name'] . '</td>'; $html .= '<td>' . $row['course_code'] . '</td>'; $html .= '</tr>'; } $html .= '</table>'; $html .= '<div style="text-align:center;">تاريخ الطباعة: ' . date('Y-m-d H:i:s') . '</div>'; وعملت دالة لكن لايعمل <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>الرئيسية</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> </head> <body> <div class="container"> <table class="table my-5 table-bordered table-striped"> <thead> <tr> <th class="text-center table-primary" scope="col">#</th> <th class="text-center table-primary" scope="col"> رقم القيد</th> <th class="text-center table-primary" scope="col">اسم الطالب</th> <th class="text-center table-primary" scope="col"> اسم المقرر</th> <th class="text-center table-primary" scope="col">رمز المقرر </th> <th class="text-center table-primary" scope="col"> النصفي الاول</th> <th class="text-center table-primary" scope="col"> نصفي الثاني</th> <th class="text-center table-primary" scope="col">النهائي </th> <th class="text-center table-primary" scope="col">المجموع </th> <th class="text-center table-primary" scope="col">التقدير </th> <th class="text-center table-primary" scope="col">عمليات </th> </tr> </thead> <tbody> <?php include 'database.php'; include 'navbar.php'; $sql="select *from student"; $resault=mysqli_query($conn,$sql); $resault=mysqli_query($conn,$sql); while($row=mysqli_fetch_array($resault)) { $id=$row['id']; $s= ($row['mid_exam']+$row['fir_exam']); $total=($s+$row['final']); $grade=""; if($total<50) { $grade= "راسب"; } elseif($total>=50 && $total<=64) { $grade= "مقبول"; } elseif($total>=65 && $total <=74) { $grade= "جيد"; } elseif($total>=75 && $total <=84) { $grade= "جيد جدا"; } elseif($total>=85 && $total <=100) { $grade= "ممتاز"; } echo '<tr > <td class="text-center "> '.$row['id'].' </td> <td class="text-center "> '.$row['id_code'].' </td> <td class="text-center "> '.$row['fname'].' </td> <td class="text-center "> '.$row['course_name'].' </td> <td class="text-center"> '.$row['course_code'].' </td> <td class="text-center"> '.$row['mid_exam'].' </td> <td class="text-center"> '.$row['fir_exam'].' </td> <td class="text-center"> '.$row['final'].' </td> <td class="text-center"> '. $total .' </td> <td class="text-center"> '. $grade .' </td> <td class="text-center"> <button class="btn btn-primary my-3"> <a href="update.php?updateid='.$id.'" class="text-light text-decoration-none"> تعديل</a> </button> <button class="btn btn-danger "> <a href="delete.php?deleteid='.$id.'" class="text-light text-decoration-none">حدف </a> </button> <button class="btn btn-success " id="download" onclick="printPage(10)> تحميل</button> </td> </tr>'; } ?> </tbody> </table> </div> <script> function printPage(id) { // استخدام XMLHttpRequest لجلب محتوى الصفحة الخارجية var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // إنشاء نافذة جديدة تحتوي على محتوى الصفحة var printWindow = window.open('', '_blank'); printWindow.document.write(xhr.responseText); // انتظر حتى يتم تحميل الصفحة بشكل كامل ثم قم بطباعتها printWindow.onload = function() { printWindow.print(); }; } }; xhr.open('GET', 'localhost/IT/print-page.php?id=' + id, true); xhr.send(); } </script> </body> </html> اقتباس
0 Adnane Kadri نشر 17 ديسمبر 2023 أرسل تقرير نشر 17 ديسمبر 2023 بتاريخ 41 دقائق مضت قال ايمن ميلاد: انا عملت زر تحميل داخل جدول لكن دالة لاتعمل <?php // الاتصال بقاعدة البيانات include 'database.php'; include 'navbar.php'; // استعلام لاسترجاع البيانات $id = $_GET['id']; $sql = "SELECT * FROM `student` WHERE id=".$id; $result = $conn->query($sql); // إضافة البيانات إلى التقرير $html = '<h1> درجات الطالب</h1>'; $html .= '<table border="1" cellpadding="5">'; $html .= '<tr><th>عنوان العمود1</th><th>عنوان العمود2</th><th>عنوان العمود3</th></tr>'; while ($row = $result->fetch_assoc()) { $html .= '<tr>'; $html .= '<td>' . $row['fname'] . '</td>'; $html .= '<td>' . $row['course_name'] . '</td>'; $html .= '<td>' . $row['course_code'] . '</td>'; $html .= '</tr>'; } $html .= '</table>'; $html .= '<div style="text-align:center;">تاريخ الطباعة: ' . date('Y-m-d H:i:s') . '</div>'; وعملت دالة لكن لايعمل <!DOCTYPE html> <html lang="ar" dir="rtl"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>الرئيسية</title> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous"> </head> <body> <div class="container"> <table class="table my-5 table-bordered table-striped"> <thead> <tr> <th class="text-center table-primary" scope="col">#</th> <th class="text-center table-primary" scope="col"> رقم القيد</th> <th class="text-center table-primary" scope="col">اسم الطالب</th> <th class="text-center table-primary" scope="col"> اسم المقرر</th> <th class="text-center table-primary" scope="col">رمز المقرر </th> <th class="text-center table-primary" scope="col"> النصفي الاول</th> <th class="text-center table-primary" scope="col"> نصفي الثاني</th> <th class="text-center table-primary" scope="col">النهائي </th> <th class="text-center table-primary" scope="col">المجموع </th> <th class="text-center table-primary" scope="col">التقدير </th> <th class="text-center table-primary" scope="col">عمليات </th> </tr> </thead> <tbody> <?php include 'database.php'; include 'navbar.php'; $sql="select *from student"; $resault=mysqli_query($conn,$sql); $resault=mysqli_query($conn,$sql); while($row=mysqli_fetch_array($resault)) { $id=$row['id']; $s= ($row['mid_exam']+$row['fir_exam']); $total=($s+$row['final']); $grade=""; if($total<50) { $grade= "راسب"; } elseif($total>=50 && $total<=64) { $grade= "مقبول"; } elseif($total>=65 && $total <=74) { $grade= "جيد"; } elseif($total>=75 && $total <=84) { $grade= "جيد جدا"; } elseif($total>=85 && $total <=100) { $grade= "ممتاز"; } echo '<tr > <td class="text-center "> '.$row['id'].' </td> <td class="text-center "> '.$row['id_code'].' </td> <td class="text-center "> '.$row['fname'].' </td> <td class="text-center "> '.$row['course_name'].' </td> <td class="text-center"> '.$row['course_code'].' </td> <td class="text-center"> '.$row['mid_exam'].' </td> <td class="text-center"> '.$row['fir_exam'].' </td> <td class="text-center"> '.$row['final'].' </td> <td class="text-center"> '. $total .' </td> <td class="text-center"> '. $grade .' </td> <td class="text-center"> <button class="btn btn-primary my-3"> <a href="update.php?updateid='.$id.'" class="text-light text-decoration-none"> تعديل</a> </button> <button class="btn btn-danger "> <a href="delete.php?deleteid='.$id.'" class="text-light text-decoration-none">حدف </a> </button> <button class="btn btn-success " id="download" onclick="printPage(10)> تحميل</button> </td> </tr>'; } ?> </tbody> </table> </div> <script> function printPage(id) { // استخدام XMLHttpRequest لجلب محتوى الصفحة الخارجية var xhr = new XMLHttpRequest(); xhr.onreadystatechange = function() { if (xhr.readyState === 4 && xhr.status === 200) { // إنشاء نافذة جديدة تحتوي على محتوى الصفحة var printWindow = window.open('', '_blank'); printWindow.document.write(xhr.responseText); // انتظر حتى يتم تحميل الصفحة بشكل كامل ثم قم بطباعتها printWindow.onload = function() { printWindow.print(); }; } }; xhr.open('GET', 'localhost/IT/print-page.php?id=' + id, true); xhr.send(); } </script> </body> </html> هل تظهر أي رسالة خطأ؟ اقتباس
0 ايمن ميلاد نشر 17 ديسمبر 2023 الكاتب أرسل تقرير نشر 17 ديسمبر 2023 بتاريخ 1 ساعة قال Adnane Kadri: هل تظهر أي رسالة خطأ؟ لايظهر شي اقتباس
0 Adnane Kadri نشر 17 ديسمبر 2023 أرسل تقرير نشر 17 ديسمبر 2023 بتاريخ الآن قال ايمن ميلاد: لايظهر شي افتح console التطبيق على المتصفح وانظر ما المشكلة عند الضغط على زر الطباعة. أيضا، انتبه الى ان 10 هاهنا مثال لا أكثر، ضع مكانها معرف السطر الذي تستهدفه: <button class="btn btn-success " id="download" onclick="printPage(10)> اقتباس
0 ايمن ميلاد نشر 17 ديسمبر 2023 الكاتب أرسل تقرير نشر 17 ديسمبر 2023 اخي ارفقت ملفات لك صفحة عرض بيانات ممكن تعمل لي كود طباعه ودالة انت قمت باستدعائه وممرات لها باراميتر رقم 10 انا اريد طباعة سطر الذي اضغط علي زر طباعه display.php بتاريخ 7 دقائق مضت قال ايمن ميلاد: اخي ارفقت ملفات لك صفحة عرض بيانات ممكن تعمل لي كود طباعه ودالة انت قمت باستدعائه وممرات لها باراميتر رقم 10 انا اريد طباعة سطر الذي اضغط علي زر طباعه display.php 3.79 kB · 0 تنزيلات في xhr.open هل اكتب localhost/it/print-page يظهر not found 404 بتاريخ 12 دقائق مضت قال ايمن ميلاد: اخي ارفقت ملفات لك صفحة عرض بيانات ممكن تعمل لي كود طباعه ودالة انت قمت باستدعائه وممرات لها باراميتر رقم 10 انا اريد طباعة سطر الذي اضغط علي زر طباعه display.php 3.79 kB · 0 تنزيلات في xhr.open هل اكتب localhost/it/print-page يظهر not found 404 الان يظهر فارغ console اقتباس
السؤال
ايمن ميلاد
السلام عليكم
لدي جدول اعرض فيه بيانات سوف اعمل زر طباعة بجوار زر تعديل وحدف
اريد مكتبة تنفد لي طباعة سطر معين او كل الجدول مثال برنامج كريستال ريبورت في تطبيقات سطح مكتب بحيث اضيف عنوان تقرير وfooter تقرير وانسق تقرير كيف ماريد استخدم php mysqli
ياريت افادتي اخواني كرام اخوكم جديد علي لغة php
7 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.