လက်ရှိတည်နေရာ: ပင်မစာမျက်နှာ> နောက်ဆုံးရဆောင်းပါးများစာရင်း> ဇယားများတင်ပို့ခြင်းနှင့်ပုံနှိပ်ခြင်းအကောင်အထည်ဖော်ရန် MySQLI_RESELT ကိုသုံးပါ

ဇယားများတင်ပို့ခြင်းနှင့်ပုံနှိပ်ခြင်းအကောင်အထည်ဖော်ရန် MySQLI_RESELT ကိုသုံးပါ

M66 2025-05-30

ပထမ ဦး စွာ MySQL ဒေတာဘေ့စ်နှင့်စုံစမ်းမှုကိုချိတ်ဆက်ပါ။ ID , အမည် နှင့် အီးမေးလ်များ ကဲ့သို့သောနယ်ပယ်များအပါအ 0 င် သုံးစွဲသူများ ဟုခေါ်သည့်ဒေတာဘေ့စ်တွင်စားပွဲတစ်ခုရှိသည်ဆိုပါစို့။

 <?php
// ဒေတာဘေ့စ် connection settings
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";

// ဆက်သွယ်မှုတစ်ခုဖန်တီးပါ
$conn = new mysqli($servername, $username, $password, $dbname);

// ဆက်သွယ်မှုကိုစစ်ဆေးပါ
if ($conn->connect_error) {
    die("ဆက်သွယ်မှုမအောင်မြင်ပါ: " . $conn->connect_error);
}

// ဒေတာရှာဖွေမှုဒေတာ
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
?>

2 ။ ဒေတာကို CSV ဖိုင်အဖြစ်ပို့ပါ

ထို့နောက်ကျွန်ုပ်တို့သည် PHP ကို ​​CSV ဖိုင်တစ်ခုအဖြစ်တင်ပို့ရန် PHP ကိုအသုံးပြုသည်။ MySQLI_RESULT OFF တွင်ရှိသောအချက်အလက်များကိုလိုင်းဖြင့်ထုတ်ယူပြီး CSV ဖိုင်သို့စာဖြင့်ရေးသားထားသည်။

 <?php
// အကယ်. စုံစမ်းမှုရလဒ်တည်ရှိလျှင်
if ($result->num_rows > 0) {
    // ဖိုင်အမည်ကိုသတ်မှတ်ပါ
    $filename = "users_data_" . date("Ymd_His") . ".csv";

    // တုံ့ပြန်မှုခေါင်းစီးကိုသတ်မှတ်ပါ,ဖိုင်ကိုဒေါင်းလုပ်လုပ်ရန် browser ကိုပြောပါ
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '"');

    // output ကိုဖွင့်လှစ်
    $output = fopen('php://output', 'w');

    // ခေါင်းစီးကိုရေးပါ
    $header = ['ID', 'Name', 'Email'];
    fputcsv($output, $header);

    // ဒေတာအတန်းရေးပါ
    while ($row = $result->fetch_assoc()) {
        fputcsv($output, $row);
    }

    // output စီးဆင်းမှုကိုပိတ်ပါ
    fclose($output);
}
?>

3 ။ ဒေတာကို Excel ဖိုင်တစ်ခုအဖြစ်ပို့ပါ

၎င်းသည် Excel ဖိုင်များကိုတိုက်ရိုက်ထုတ်လုပ်ရန်ပိုမိုရှုပ်ထွေးသော်လည်းတတိယပါတီစာကြည့်တိုက် phpexcel သို့မဟုတ် phpspread ရှိတာဖြင့်၎င်းကိုအောင်မြင်နိုင်သည်။ ဤစာကြည့်တိုက်နှစ်ခုသည်ပို့ကုန်မေးမြန်းမှုကိုတင်ပို့ရန်အတွက်ကြွယ်ဝသောလုပ်ဆောင်နိုင်စွမ်းကိုပေးသည် .xls သို့မဟုတ် .xlsx format နဲ့ဖိုင်များအဖြစ်သို့ရောက်သွားသည်။

ဤတွင် Excel တင်ပို့ခြင်း၏အခြေခံဥပမာတစ်ခုဖြစ်သည်။ ပထမ ဦး စွာ PHPSPREADSEET ကို install လုပ်ရန်လိုအပ်သည်။

 composer require phpoffice/phpspreadsheet

ထို့နောက်ဒေတာများကိုတင်ပို့ရန် PHP တွင်အောက်ပါကုဒ်ကိုသုံးပါ။

 <?php
// မိတ်ဆက်ခဲ့သည် PhpSpreadsheet အတန်းစာကြည့်တိုက်
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// စာရင်းအသစ်တစ်ခုကိုဖန်တီးပါ
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

// စားပွဲပေါ်မှာ header setting
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', 'Name');
$sheet->setCellValue('C1', 'Email');

// ဒေတာကိုဖြည့်ပါ
$rowNum = 2;
while ($row = $result->fetch_assoc()) {
    $sheet->setCellValue('A' . $rowNum, $row['id']);
    $sheet->setCellValue('B' . $rowNum, $row['name']);
    $sheet->setCellValue('C' . $rowNum, $row['email']);
    $rowNum++;
}

// ဖိုင်အမည်ကိုသတ်မှတ်ပါ
$filename = "users_data_" . date("Ymd_His") . ".xlsx";

// တုံ့ပြန်မှုခေါင်းစီးကိုသတ်မှတ်ပါ,ဖိုင်ကိုဒေါင်းလုပ်လုပ်ရန် browser ကိုပြောပါ
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="' . $filename . '"');
header('Cache-Control: max-age=0');

// ဖန်တီး Writer ကန့်ကွက်
$writer = new Xlsx($spreadsheet);

// output ဖိုင်
$writer->save('php://output');
?>

4 ။ ဒေတာဇယားကိုပုံနှိပ်ပါ

သင်ဒေတာဇယားကိုအသုံးပြုသူအားပုံနှိပ်ရန်အတွက်တင်ပြလိုပါက HTML ဇယားများအနေဖြင့်မေးမြန်းမှုရလဒ်များကိုသင် output လုပ်နိုင်သည်။ အသုံးပြုသူများသည် browser ၏ပုံနှိပ်လုပ်ငန်းကိုတိုက်ရိုက်ပုံနှိပ်ထုတ်ဝေသည်။

 <?php
// အကယ်. စုံစမ်းမှုရလဒ်တည်ရှိလျှင်
if ($result->num_rows > 0) {
    echo '<table border="1">';
    echo '<thead>';
    echo '<tr><th>ID</th><th>Name</th><th>Email</th></tr>';
    echo '</thead>';
    echo '<tbody>';

    // output ဒေတာလိုင်း
    while ($row = $result->fetch_assoc()) {
        echo '<tr>';
        echo '<td>' . $row['id'] . '</td>';
        echo '<td>' . $row['name'] . '</td>';
        echo '<td>' . $row['email'] . '</td>';
        echo '</tr>';
    }

    echo '</tbody>';
    echo '</table>';
    
    // Print ခလုတ်ကိုထည့်ပါ
    echo '<br><button onclick="window.print()">ပုံစံကိုပုံနှိပ်ပါ</button>';
}
?>

ဤနည်းအားဖြင့်အသုံးပြုသူသည်စာမျက်နှာအကြောင်းအရာကိုစားပွဲပုံစံဖြင့်ပုံနှိပ်ရန် Print ခလုတ်ကိုနှိပ်ပါ။