[PHP] Suche programieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
ausgabe
aussehen
beispiel
datei
daten
einfache liste
eintrag
folgendem schema
fragestellung
funktion
haben
hans
inhalt
kleinen schleife
manual
textdatei
verstehe
verweisen
verwendung
zeile
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Was?
Ich verstehe deine Fragestellung nicht.
K?nntest du sie bitte etwas pr?ziser und genauer ausformulieren?
http://de.php.net/manual/de/function.preg-match-all.php
http://de.php.net/manual/de/function.preg-grep.php
Sollte helfen... du Professional Webdesigner...
-AlienDwarf -
Also es gibt eine Textdatei und zwei PHP dateien die erste PHP (eintrag.php) schreibt die Daten in folgendem SChema in die Textdatei :
a1 # a2 ## b1 # b2 ## c1 # c2 ##
Beispiel:
Hans # 54 ## Petra # 34 ## Susi # 18 ##
Und die Zweite PHP Datei soll jetzt so aussehen :
Feld zum Eintragen(a1)
Suche in Textdatei nach "a1"( Im Beispiel : Hans) wenn "a1" (Hans) existiert gebe aus "a2" (Im Beispiel 54)
Ausgabe :
54
-
HY MECLE
ich w?rd dir von der verwendung von Datein grunds?tzlich abraten, warum verwendest du keine Datenbank ??
mfg d2 database -
Hi,
Dateien verwenden ist eigentlich schon ok ... das kommt jetzt nicht drauf an. Jedoch verstehe ich nicht, warum die Daten mit # so kompliziert getrennt werden und warum gibt's platz dazwischen?
Besser ist es doch mit serialize(), wie ich immer sage.
Ich verstehe nicht wirklich was das Problem bei deiner Aufgabe ist, das ist doch v?llig einfach.
Am besten ist es, Mecle, du liesst dir mal volgende Seiten ganz durch, dann wird einiges einfacher:
http://php.net/manual/de/ref.filesystem.php
http://php.net/manual/de/function.serialize.php
mfg,
hr -
Das lesen mach ich dann zu hause aber es muss nicht unbedingt eine # sein, ist eientlich egal was man f?r Zeichen nimmt aber spielt das den eine Rolle ? Und es mussen auch keine Leerzeichen da sein.
Wenn mir jemand wirklich helfen will dann bitte nicht wieder 3 Pages die ich mir durchlesen soll.
Schonmal danke. -
Du kannst es am einfachsten mit der "file(<datei>)" funktion machen.
Die liest die Datei ein und gibt sie als Array zur?ck. So musst du pro Arrayeintrag der einer ZEile entspricht nur noch Explode auf den Eintrag anwenden. Als Trennzeichen nat?rlich das selbe wie in der Text Datei und schon hast du die Zeile als Array und kannst auf den Inhalt zugreifen. -
Hi,
ich verstehe echt nicht was das Problem ist.
Du bist in PHP doch schon erfahren, oder?
Wie gesagt, du solltest folgendes Link anklicken und dort mal alles durchlesen:
http://php.net/manual/de/ref.filesystem.php
mfg,
hr -
Die Funktion die du brauchst hei?t explode(). Damit teilst du einen so aufgebauten String in ein Array: aus str="a1#a2" mach str[0]="a1" und str[1]="a2" usw. Mit einer kleinen Schleife kannst du dir ganz leicht eine einfache Liste bauen, die du dann bequem durchsuchen kannst.
MfG,
thw -
mecle schrieb:
Also es gibt eine Textdatei und zwei PHP dateien die erste PHP (eintrag.php) schreibt die Daten in folgendem SChema in die Textdatei :
a1 # a2 ## b1 # b2 ## c1 # c2 ##
Beispiel:
Hans # 54 ## Petra # 34 ## Susi # 18 ##
Und die Zweite PHP Datei soll jetzt so aussehen :
Feld zum Eintragen(a1)
Suche in Textdatei nach 'a1'( Im Beispiel : Hans) wenn 'a1' (Hans) existiert gebe aus 'a2' (Im Beispiel 54)
Ausgabe :
54
$file = "Hans # 54 ## Petra # 34 ## Susi # 18 ##"; $a1 = "Hans"; $array = explode(" ## ",$file); foreach($array as $x => $value) { $array[$x] = explode(" # ",$value); if($array[$x][0] == $a1) $a2 = $array[$x][1]; } echo $a2;
Damit haste auch die ganzen Daten in einem Array...
gru? c0d3c
-
mecle schrieb:
Also es gibt eine Textdatei und zwei PHP dateien die erste PHP (eintrag.php) schreibt die Daten in folgendem SChema in die Textdatei :
a1 # a2 ## b1 # b2 ## c1 # c2 ##
Beispiel:
Hans # 54 ## Petra # 34 ## Susi # 18 ##
Und die Zweite PHP Datei soll jetzt so aussehen :
Feld zum Eintragen(a1)
Suche in Textdatei nach 'a1'( Im Beispiel : Hans) wenn 'a1' (Hans) existiert gebe aus 'a2' (Im Beispiel 54)
Ausgabe :
54
$file = "Hans # 54 ## Petra # 34 ## Susi # 18 ##"; $a1 = "Hans"; $array = explode(" ## ",$file); foreach($array as $x => $value) { $array[$x] = explode(" # ",$value); if($array[$x][0] == $a1) $a2 = $array[$x][1]; } echo $a2;
Damit haste auch die ganzen Daten in einem Array...
gru? c0d3c
Danke du hast mich verstanden das geht supper Danke.
Aber noch eine Frage eigentlich sollte das ja dann so auch noch gehen oder ?
<?$file = "fopen(x.txt)"; <-----------------------
$a1 = "Hans";
$array = explode(" ## ",$file);
foreach($array as $x => $value)
{
$array[$x] = explode(" # ",$value);
if($array[$x][0] == $a1) $a2 = $array[$x][1];
}
echo $a2;?>
Aber die Seite ist leer
http://mecle.milten.lima-city.de/php/2.php
Beitrag ge?ndert am 15.07.2006 20:05 von mecle -
Hallo,
du solltest die Datei nicht nur ?ffnen, sondern auch lesen und ?ber die Verwendung von Anf?hrungszeichen nachdenken ;).
Mit der Anweisung:
$file = "fopen(x.txt)";
weist du der Variablen $file den String
fopen(x.txt)
zu, du wolltest aber den Inhalt der Datei x.txt.
Also ?ffne die Datei und du erh?ltst ein sog.
Handle (einen Verweis auf die Datei):
$file = fopen("x.txt", "rd");
Damit kannst du dann den Inhalt der Datei lesen
und damit arbeiten.
$inhalt = fread($file, filesize("x.txt"));
$array = explode(" ## ",$inhalt);
Soweit zumindest die Theorie, viel Spa? bei testen. Und nicht vergessen die Datei nach Gebrauch wieder ordentlich zu schlie?en.
Gru?
Manni -
Also es geht jetzt alles ist das aber auch so richtig ?
<?$file = fopen("x.txt", "rd");
$inhalt = fread($file, filesize("x.txt"));
$a1 = "Hans";
$array = explode(" ## ",$inhalt);
foreach($array as $x => $value)
{
$array[$x] = explode(" # ",$value);
if($array[$x][0] == $a1) $a2 = $array[$x][1];
}
echo $a2;?> -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage