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);
 
?>
Diese Website verwendet nur für den Betrieb notwendige Cookies. Durch die Nutzung der Website stimmen Sie dem Speichern von Cookies auf Ihrem Computer sowie den Datenschutzbestimmungen zu. Wenn Sie nicht einverstanden sind, verlassen Sie die Website. Weitere Information
programmieren:sqlite3 (497 views) · Zuletzt geändert: 27/05/2020 09:33 von conny

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki