Benutzer-Werkzeuge

Webseiten-Werkzeuge


programmieren:sqlite3:datatable

Datatables

mit https://datatables.net/ hat man eine einfache Möglichkeit ein Datenbank Grid in PHP zu realisieren.

CDN zum Projekt: https://cdn.datatables.net/

Hier gibt es eine DEMO

Selber testen:

  • Einfach alle drei Scripte in ein Web-Verzeichnis kopieren
  • Im Browser die 'create.php' einmalig aufrufen z.B. http:\\meineDomain.de\create.php wodurch die Datenbank mit Testdaten erstellt wird
  • jetzt nur noch das Hauptscript 'index.php' aufrufen z.B. http:\\meineDomain.de\index.php
  • freuen und testen ;-)
create.php
<?php
/**
* Datenbank / Tabelle erstellen
*/
$db_name = "database.db";			// Name der Datenbank
$db_table = "user";				// Name der Tabelle
 
// erstelle Datenbank wenn nicht vorhanden
IF (!file_exists($db_name)) {
	$db = NEW SQLite3("$db_name", SQLITE3_OPEN_CREATE | SQLITE3_OPEN_READWRITE);
 
	// Tabellen Struktur für 'user' anlegen
	$db-> EXEC("CREATE TABLE IF NOT EXISTS  $db_table 
	(
	  'id' INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,
	  'name' TEXT, 
	  'email' TEXT
	)
	");
 
	// Daten-Dump für USER, insgesamt 12 Zeilen (Testdaten)
	$db-> EXEC("INSERT INTO $db_table ('id','name','email') VALUES
	('1','Name1','test1@test.de'),
	('2','Name2','test2@test.de'),
	('3','Name3','test3@test.de'),
	('4','Name4','test4@test.de'),
	('5','Name5','test5@test.de'),
	('6','Name6','test6@test.de'),
	('7','Name7','test7@test.de'),
	('8','Name8','test8@test.de'),
	('9','Name9','test9@test.de'),
	('10','Name10','test10@test.de'),
	('11','Name11','test11@test.de'),
	('12','Name12','test12@test.de')
	");
 
	echo "Testdatenbank erstellt";
} ELSE {
	echo "FEHLER: Datenbank $db_name existiert bereits.";
};
?>
index.php
<!DOCTYPE html>
<html lang="de">
<head>
	<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
	<link rel="stylesheet" href="https://cdn.datatables.net/1.10.21/css/dataTables.bootstrap4.min.css" >
</head>
 
<body>
 
<div class="container">
  <h2>PHP - DataTables.js - SqlLite3 Example</h2>
  <table id="my-example" class='table table-bordered table-striped dt-responsive nowrap' style='width:100%;'>
    <thead>
      <tr>
          <th>Id</th>
          <th>Name</th>
          <th>Email</th>
      </tr>
    </thead>
  </table>
 
</div>
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.21/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/1.10.21/js/dataTables.bootstrap4.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
 
<script type="text/javascript">
  $(document).ready(function() {
      $('#my-example').dataTable({
        "Processing": true,
        'ajax':{
			url:"load.php"
		},
        "Columns": [
              { Data: 'id' } ,
              { Data: 'name' },
              { Data: 'email' }
            ]
      });  
  });
</script>
 
</body>
</html>
load.php
<?php
/**
* Datensätze aus Tabelle auslesen und zurückgeben
*/
$db_name = "database.db";
$db_table = "user";
$db = new SQLite3($db_name);
 
$results = $db->query("SELECT * FROM $db_table");
while ($row = $results->fetchArray()) {
  $data[] = $row;
}
 
$results = ["Echo" => 1,
        	"TotalRecords" => count($data),
        	"TotalDisplayRecords" => count($data),
        	"aaData" => $data ];
 
echo json_encode($results);
 
?>
Cookies helfen bei der Bereitstellung von Inhalten. Diese Website verwendet Cookies. Mit der Nutzung der Website erklären Sie sich damit einverstanden, dass Cookies auf Ihrem Computer gespeichert werden. Außerdem bestätigen Sie, dass Sie unsere Datenschutzerklärung gelesen und verstanden haben. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
programmieren:sqlite3 (172 views) · Zuletzt geändert: 27/05/2020 09:33 von conny