Home | Registrieren | Einloggen | Suchen | Aktuelles


Forum » PHP & MySQL » mysql_fetch_row auf eine Textdatei anwenden Antworten
mysql_fetch_row auf eine Textdatei anwenden

Gen-Chan
Otto-Normal-Poster


Beiträge: 48


Es geht um folgendes:
Ein Uploadscript beliefert eine txt datei mit folgenden daten:
dateiname.jpg|Name|Kommentar/n
Ich will jetzt wie bei mysql aus dieser textdatei (via fetch_row bei mysql) eine spalte auslesen, dann mit $xyz[0]-[3] ausgeben und dann die nächste zeile genau so wiedergeben.
Ich hab nur leider keinen befehl gefunden der das so macht wie mysql_fetch_row.
Ich kann auch wenn ich den als einen string bekomme dann mit explode auch an dem | trennen und so in denn array bekommen, das problem ist halt nur das ich diese blöde zeile nicht passent ausgelessen bekomme v.v"
Zur erleuterumg, ich würde auch lieber mySQL nutzen aber der, für den ich das schreibe hat keine daten bank und will das nciht und bla und blub v.v
Naja daraufhin dacht ich mir, es sollte auch mit einer text datei gehen, naja ist wohl doch nciht so leicht wie ich dachte.

Im nächsten schrit wäre es auch interesant zu wissen ob man erst ab z.B. Zeiel 20 anfangen kann auszulesen?

Ich danke jetzt schonmal für eure Hilfsbereitschaft. Nemmt es mir nciht zu übel wenn ich irgent wo einen logik fehler gemacht habe, war ne lange nacht ^-^"

---
It's not a bug, it's only an undocomended feature.

Diese Nachricht wurde geändert von: Gen-Chan
  Profil   E-Mail   Website   Editieren   Zitieren

dee123
Otto-Normal-Poster


Beiträge: 63


Kannst du die Textdatei nicht einfach mit dem "File"-Befehl auslesen?

<?PHP
$data = file("db.txt");
?>
in $data[0] ist die erste Zeile,
in $data[1] ist die zweite Zeile etc.
Die Inhalte der Zeile kannst du dann ja - wie du schon beschrieben hat, mit explode extrahieren.

Ist es das, was du suchtst?



---
Meine alte Signatur gefiel mir nicht mehr. Darum hab ich jetzt eine neue.

  Profil   Website   Editieren   Zitieren

Gen-Chan
Otto-Normal-Poster


Beiträge: 48


Also wenn ich mir deine beschreibung so anhöre, ist es das was ich suche.
Wie bau ich das ganze denn in eine while Schleife ein?
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18:
<?php
	error_reporting(E_ALL);

	$i = 0;

	while($out = file("db.txt")) {
		if($i < 20) {
			$user_out = explode("|", $out[$i]);
			echo $user_out[0]."<br>";
			echo $user_out[1]."<br>";
			echo $user_out[2]."<br>";
		}

		$i++;
	}
?>


Naja wenn ich das so mache gehts nicht.
Ich hab auch schon nur mal die ersten 2 zeilen wieder geben lassen (also im script statt $out[$i] folgendes hingeschrieben $out[0] bzw. [1]
Der erfolg bei dieser sache blieb aus und ich hab ein Error 500 (Internal Error) vorgesetzt bekommen.

---
It's not a bug, it's only an undocomended feature.

  Profil   E-Mail   Website   Editieren   Zitieren

Maxx
Otto-Normal-Poster


Beiträge: 87


habs nicht getestet, aber so sollte es funzen:

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19:
<?php

error_reporting(E_ALL);

$i = 0;

while($out = file("db.txt")) {
  if($i < count($out)) {
    $details = explode("|", $out[$i]);
    
    echo $details[0]."<br />".$details[1]."<br />".$details[2]."<br /><br />//=====================<br /><br />";
  } else {
    exit();
  }
  $i++;
}


?>


---
BoardSuche - PHP - Google

  Profil   Editieren   Zitieren

Gen-Chan
Otto-Normal-Poster


Beiträge: 48


Danke das script funktioniert erste sahne, danke vielmals

---
It's not a bug, it's only an undocomended feature.

  Profil   E-Mail   Website   Editieren   Zitieren

dee123
Otto-Normal-Poster


Beiträge: 63


... mit "foreach" isses einfacher:



$data = file("db.txt");
foreach($data as $ausgabe)
{
...
$ausgabe;
...
}

Das erpart den count und $data is ja sowieso schon ein Array. da brauchst du erst keins definieren.


---
Meine alte Signatur gefiel mir nicht mehr. Darum hab ich jetzt eine neue.

  Profil   Website   Editieren   Zitieren
 

Antworten
Nach oben