Aktueller Standort: Startseite> Neueste Artikel> Verwenden Sie MySQLi_Result, um den Export und den Druck von Tabellen zu implementieren

Verwenden Sie MySQLi_Result, um den Export und den Druck von Tabellen zu implementieren

M66 2025-05-30

Stellen Sie zunächst eine Verbindung zur MySQL -Datenbank und zur Abfrage her. Angenommen, es gibt bereits eine Tabelle in der Datenbank mit dem Namen Benutzer , einschließlich Feldern wie ID , Name und E -Mail .

 <?php
// Datenbankverbindungseinstellungen
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "test_db";

// Eine Verbindung erstellen
$conn = new mysqli($servername, $username, $password, $dbname);

// Überprüfen Sie die Verbindung
if ($conn->connect_error) {
    die("Verbindung ist fehlgeschlagen: " . $conn->connect_error);
}

// Abfragedaten
$sql = "SELECT id, name, email FROM users";
$result = $conn->query($sql);
?>

2. Exportieren Sie Daten als CSV -Datei

Als nächstes verwenden wir PHP, um die Abfrageergebnisse als CSV -Datei zu exportieren. Die Daten im Objekt in MySQLI_Result werden nach Zeile extrahiert und in die CSV -Datei geschrieben.

 <?php
// Wenn das Abfrageergebnis existiert
if ($result->num_rows > 0) {
    // Dateinamen festlegen
    $filename = "users_data_" . date("Ymd_His") . ".csv";

    // Stellen Sie den Antwortheader ein,Sagen Sie dem Browser, er soll die Datei herunterladen
    header('Content-Type: text/csv');
    header('Content-Disposition: attachment; filename="' . $filename . '"');

    // Öffnen Sie den Ausgangsstrom
    $output = fopen('php://output', 'w');

    // Schreiben Sie in den Header
    $header = ['ID', 'Name', 'Email'];
    fputcsv($output, $header);

    // Schreiben Sie Datenreihen
    while ($row = $result->fetch_assoc()) {
        fputcsv($output, $row);
    }

    // Schalten Sie den Ausgangsstrom aus
    fclose($output);
}
?>

3.. Exportieren Sie Daten als Excel -Datei

Obwohl es etwas komplizierter ist, Excel-Dateien direkt zu generieren, kann es über das Phpexcel oder PhpSpreadsheet von Drittanbietern erreicht werden. Diese beiden Bibliotheken bieten eine umfangreiche Funktionalität, um Abfrageergebnisse in Dateien in .xls oder .xlsx -Format zu exportieren.

Hier ist ein grundlegendes Beispiel für den Exportieren von Excel. Zuerst müssen Sie PhpSpreadsheet installieren:

 composer require phpoffice/phpspreadsheet

Verwenden Sie dann den folgenden Code in PHP, um die Daten zu exportieren:

 <?php
// Eingeführt PhpSpreadsheet Klassenbibliothek
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\Writer\Xlsx;

// Erstellen Sie ein neues Tabellenkalkulationsobjekt
$spreadsheet = new Spreadsheet();
$sheet = $spreadsheet->getActiveSheet();

// Einstellen des Tischkopfs
$sheet->setCellValue('A1', 'ID');
$sheet->setCellValue('B1', 'Name');
$sheet->setCellValue('C1', 'Email');

// Daten ausfüllen
$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++;
}

// Dateinamen festlegen
$filename = "users_data_" . date("Ymd_His") . ".xlsx";

// Stellen Sie den Antwortheader ein,Sagen Sie dem Browser, er soll die Datei herunterladen
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
header('Content-Disposition: attachment;filename="' . $filename . '"');
header('Cache-Control: max-age=0');

// erstellen Writer Objekt
$writer = new Xlsx($spreadsheet);

// Ausgabedatei
$writer->save('php://output');
?>

4. Druckdatentabelle drucken

Wenn Sie möchten, dass die Datentabelle dem Benutzer zum Drucken präsentiert wird, können Sie die Abfrageergebnisse als HTML -Tabellen ausgeben. Benutzer können direkt über die Druckfunktion des Browsers drucken.

 <?php
// Wenn das Abfrageergebnis existiert
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>';

    // Ausgabedatenlinie
    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>';
    
    // Druckschaltfläche hinzufügen
    echo '<br><button onclick="window.print()">Drucken Sie das Formular</button>';
}
?>

Auf diese Weise kann der Benutzer auf die Schaltfläche Drucken klicken, um den Seiteninhalt in einem Tabellenformular zu drucken.