Exakte Zeile auslesen, OHNE jede einzelne einlesen zu müssen

LordSword

Grünschnabel
Hi,
da ich unangemeldet in diesem Forum leider keinen Beitrag gefunden habe, der ein ähnliches Problem bzw. Wunsch behandelt, eröffne ich einen neuen Thread und entschuldige mich schon Vorab, sollte ich nicht gut genug gesucht haben ;-)

Mein Vorhaben entspricht einer Tabelle mit USER-Daten, spricht:
-Account Name
-Passwort
-...etc.

Jeder User bekommt von mir bei der Anmeldung eine Nr. zugewiesen, ähnlich einer Kd.Nummer. Diese Nummer entspricht der Einfachtshalber der Zeilennummer in aus der Datei, wo alle User abgelegt sind.

Der User wird folgt gespeichert:

PHP:
$filename = "../save/account.db";
$fp = fopen ($filename, "a");
$acc_data = "$account|$passwort|$email\r\n";
fwrite ($fp, $acc_data);
fclose($fp);

$account , $passwort , $email : Werden mit POST von einer HTML-Seite übertrage

--

Ich gehe jetzt mal davon aus, das ich 1000000 User in meiner Tabelle (Datenbank) habe und mir die Daten von User Nr. 555483 ausgeben lassen will.

PHP:
$fp = fopen ($filename, "r");
  
  while($ausgabe = fgets($fp, filesize($fp) ) 
  { 
  if ($i == $acc_nr)
     {
     echo "$ausgabe";
     echo "Es wurde nach Eintrag Nr. $acc_nr gesucht";
     }
  $i++;
  }		
fclose($fp);

$acc_nr : ist in diesem Fall dann 555483

Das heist das ich 555482 mal einenDatenstränge in den Puffer ($ausgabe) laden muss, und diesem wieder Überschreiben. Dieser Vorgang hat ca. 15Sekunden gedauert, was eine halbe Ewigkeit ist ;)


*****************************************************************
Die Frage:

Gibt es eine Möglischkeit direkt auf Zeile 555483 zu springen, ohne erst die 555482 Zeilen vorher auslesen/einlesen zu müssen?

*****************************************************************

MfG
LordSword
 
file() gibt dir einen Array zurück, in dem jedes Element einer Zeile entspricht.... dort kannst du direkt drauf zugreifen.

Den Hinweis, dass eine "echte" Datenbank bei einer solchen Fülle an Daten empfehlenswerter wäre, spare ich mir :-)... du wirst sicher deine Gründe haben, dass du keine nimmst.
 
Ich bedanke mich Herzlichts,

und um die Anspielung auf eine richtige Datenbank zu beantworten.
Ja, es hat einen Grund:

Ich lerne gerne 1 Sprache nach der anderen und das auf die Hardcore NOTEPAD Variante :-)

Würde mit Dreamweaver,...etc. leichter und schneller gehen, aber so lernt man intensiver.
Meiner Meinung nach auf jeden Fall ;)

Sprich, sobald ich mich in PHP fit gemacht habe, nehme ich die "leichtere" Version des SQL für Datenbanken.

MfG
LordSword
 
Naja, Dreamweaver kann Dir bei PHP auch nicht grossartig helfen.
Man kann ja PHP nicht zusammenklicken.
Das einzige was Dreamweaver vielleicht bietet wird wohl Syntax-Highlighting und vielleicht (Achtung: Spekulation) einen ToolTip fuer die richtige Nutzung von Funktionen.

Ich unterstuetze auf jeden Fall Deine Vorgehensweise.
 
Zurück