PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : SQL-Abfrage - Ausgabe in TXT File schreiben


drivemaster
12.07.2004, 15:33
Hallo,

ich möchte eine SQL Select Abfrage in ein TXT-File schreiben:

select * from tabelle where beispiel_type='test' ## Ausgabe in TXT schreiben

Arbeite mit LINUX RED HAT
mySQL 3.23.58

Danke für Eure Hilfe

AlphaWolf
12.07.2004, 17:01
So ganz einfach in eine Textdatei schreiben geht wohl nicht. Eine Textdatei ist schließlich nicht wie eine Datenbank aufgebaut.

Je nachdem wieviele Spalten die Tabelle hat wird es schwierig die Daten übersichtlich in einer Textdatei unterzubringen.

Am besten du erzählst ein wenig mehr über den Aufbau der Tabelle dann kann dir geholfen werden.

drivemaster
12.07.2004, 18:37
OK

Da ich mich mit mySQL noch nicht so gut auskenne, würde ich vorschlagen Du sagst mir die Dinge die man dazu benötigt, das würde mir weiterhelfen.

Danke für die Hilfe :-)

AlphaWolf
12.07.2004, 19:38
Du willst ja mit dieser Abfrage alle Spalten aus einer Tabelle abfragen wo:

id = $id

Sagen wir mal wir hätten 3 Spalten in der Tabelle.


id name alter

Du musst ja jetzt alle Spalten irgendwie in die Textdatei bringen, dass man auch noch was erkennt und nicht alles nur hintereinander geklatscht ist.

Ich geh das jetzt mal für dieses Beispiel durch:


$sql = " SELECT * FROM `users` WHERE `id`= '".$id."'";
$result = mysql_query($sql) OR die(mysql_error());


$datei = fopen("tabelle.txt", "a");
while ( $row = mysql_fetch_array($result)) {
fwrite($datei, $row['id']. " " .$row['name']. " " .$row['alter']. "\n");
}
fclose($datei);




Das sollte für dieses Beispiel die Daten tabelarisch in eine Textdatei schreiben. Das Prinzip solltest du jetzt verstanden haben. Musst es nurnoch anpassen.

drivemaster
13.07.2004, 00:06
OK, Vielen Dank für deine bisherige Hilfe.

Arbeite aber mit Linux auf der Konsolenebene ohne PHP.

Habe nur einen mySQL 3.23.58 drauf laufen + mysqladmin und das ganz normale mysql-Eingabe Fenster (mysql -u mysql -p) quasi
mysql>>


Kann ich nicht wie unter Linux mit Pipes arbeiten, oder die mySql Ausgabe mit einem mysql Command in einen Speicher schieben und später ausgeben ?
:)


Ich habe in einer Tabelle mehere Spalten, drei Dinge spreche ich aber nur an: (Benutzername, Aktivität, UTC-Zeit)

select * from tabelle_allusers where type='activity_1' and utc_time between 1234567 and 1234588;

Vielen Dank für die Hilfe.

AlphaWolf
13.07.2004, 00:41
Damit kenne ich mich leider nicht aus;)