Suche nach als

SQLite CSV

Auf dieser Seite:

Comma separated values

Schnell und einfach kann ich eine andere Tabelle in SQLite einlesen, vorausgesetzt ich habe sie in einem Zwischenformat abgespeichert, welches die Feldwerte (Kolonnen) durch ein eindeutiges Zeichen (dem Namen nach ein Komma) trennt.

Meine sqlite.csv Datei ist eine reine Textdatei (7-bit ASCII), in der ein Tabelleninhalt steht. Die Trennung der Kolonnen besteht aus jeweils einem ";" (Semikolon), es ist aber auch ein "|" (Pipe) möglich - das Zeichen darf im Zellinhalt nicht vorkommen.
Ebenso zu vermeiden ist ein "'" im Text, es würde im sqlite_query einen Syntaxerror erzeugen:
'Warning: sqlite_query() [function.sqlite-query]: near "n": syntax error ...'

1;Da komm ich her:;Aus dem Weltenmeer. 2;Da geh ich hin:;Als Schmetterling. 3;Da wünsch ich mir:;Ein Lied von dir. 4;Da blieb mir noch:;Ein Sommerloch. 5;Da kommst nun du daher:;Ich fress nen Teddybär. 6;Da das reicht:;Sonst wird es seicht.

Die Datensätze aus der csv-Datei füge ich nur der Tabelle hinzu, wenn die Datenbank 'SQLite/db_test.db' mit der Tabelle 'tb_test' vorhanden ist. Falls nicht, wird zwar die Datenbank erzeugt aber die Tabelle nicht (Tabelle erstellen).

<?php
// Einlesen
  
$db sqlite_open("SQLite/db_test.db"0666$error)
    or die(
"Fehler beim Öffnen der Datenbank: $error"); 
  
$csv_handle fopen("sqlite.csv","r");
  while ( (
$data fgetcsv ($csv_handle1000";")) !== FALSE ) {
    
$sql "INSERT INTO tb_test VALUES(NULL,'$data[1]', '$data[2]')";
    
sqlite_query($db,$sql);
  }
  
fclose ($csv_handle);
  
sqlite_close($db);
?>

sqlite_num_rows

Die in SQLlite eingelesene csv-Datei als HTML-Tabelle ausgegeben:

1Da komm ich her:Aus dem Weltenmeer.
2Da geh ich hin:Als Schmetterling.
3Da wünsch ich mir:Ein Licht von dir.
4Da blieb mir noch:Ein Sommerloch.
5Da komm ich her:Aus dem Weltenmeer.
6Da geh ich hin:Als Schmetterling.
7Da wünsch ich mir:Ein Lied von dir.
8Da blieb mir noch:Ein Sommerloch.
9Da kommst nun du daher:Ich fress nen Teddybär.
10Da das reicht:Sonst wird es seicht.

Das ging so:

<?php
// Ausgeben
  
echo "<p>Die in SQLlite eingelesene csv-Datei als HTML-Tabelle ausgegeben:</p>";
  
$db sqlite_open("SQLite/db_test.db");
  
$sql 'SELECT * FROM tb_test WHERE id > 0 ORDER BY id ASC';
  
$result sqlite_query($db$sql);
  if(
sqlite_num_rows($result) > 0){
    echo 
"<table>"";
    while(
$row = sqlite_fetch_array($result)) {
      echo "
<tr><td>".$row['id']."</td><td>".$row['col_1']."</td><td>".$row['col_2']."</td></tr>";
    }
    echo "
</table>";
  }
?>


Valid XHTML 1.0 Check den Code.

SQLite Formular >> << SQLite:
Ich bin hier: > PHP Lehrling >>> SQLite CSV
 
HTML und XHTML | CSS | JavaScript und DHTML | PHP und MySQL | Andere Sprachen
Letzter Update: 30.01.2010