2016-06-29 18 views
0

Ich verbinde mich mit einer SQLite-Datenbank. Ich verwende die folgende Abfrage, um die Ergebnisse zu erhalten:Hinzufügen von Tabs und Zeilenumbrüchen aus Array mit file_put_contents

$db = new SQLite3('sshTunnel.sqlite'); 
$results = $db->query('SELECT * FROM TUNNEL'); 

Nun, ich möchte Registerkarten hinzufügen und Zeilenumbrüche aus der Reihe Array file_put_contents in PHP:

while ($row = $results->fetchArray(SQLITE3_ASSOC)) 
{ 
    file_put_contents($file, $row, FILE_APPEND).PHP_EOL; 
} 

Die Ergebnisse unformatiert angezeigt werden, in einem Leitung:

TestTestTest Test Test Test 

ich möchte diese Struktur:

Test Test Test 
Test Test Test 

Wo ist der Fehler?

+0

Bitte erläutern Sie, wie Ihre Daten aussehen, wenn Sie sie ziehen. –

+0

Hinzugefügt. Bitte siehe oben. – gpuk360

Antwort

1

Ich habe das Problem behoben. trim() hat es geschafft.

while ($row = $results->fetchArray(SQLITE3_ASSOC)) 
{ 
    foreach ($row as $value) 
    { 
     file_put_contents($file, trim($value) . ", ", FILE_APPEND | LOCK_EX); 
    } 
    file_put_contents($file, "\n", FILE_APPEND | LOCK_EX); 
} 
+1

hatte wahrscheinlich extra Werte in der Datenbank, also brauchte ich 'trim()', aber ich mag es, wie du es in eine Zeile steckst. Gott Job Mann! – bluepinto

+0

Ich würde auch eine Aktualisierungsabfrage auf dem Datensatz mit Trimmen ausführen, sonst könnte es Formatierungsfehler verursachen, wenn Sie versuchen, Werte anzuzeigen. vergiss nie Murphys Gesetz – bluepinto

+0

Danke, dito! :-) – gpuk360

1
while ($row = mysqli_fetch_row($results)) 
{ 
    foreach($row as $value) 
    { 
    $value .= '|';//use what ever char you what to append 
    file_put_contents($file, $value, FILE_APPEND | LOCK_EX); 
    } 
    file_put_contents($file, '\n', FILE_APPEND | LOCK_EX); 
} 
+0

Fast. Es ist immer noch in einer Zeile mit einigen Fehlern. Ergebnis: Test, Test, Test, \ nTest, Test, Test ... – gpuk360

+0

Update: Der Zeilenumbruch funktioniert mit "\ n" statt "\ n". Für jede Zeileniteration gibt es (ich weiß nicht warum) 4 weitere Registerkarten hinzugefügt. Also mit 2 Zeilen gibt es 8 Tabs. Für 3 Zeilen gibt es 12 Registerkarten. WTF? :-) – gpuk360