kostenloser Webspace werbefrei: lima-city


[PHP] Suche programieren

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    m***e

    Ich w?rde gerne f?r folgendes einen PHP Befehl wissen :

    Textdatei :

    a1 # a2 ## b1 # b2 ## c1 # c2 ## Hans # 13 ##

    PHP Datei :

    Suche x1 und gebe x2 aus

    Bitte helft mir !
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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
  4. Autor dieses Themas

    m***e

    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
  5. HY MECLE

    ich w?rd dir von der verwendung von Datein grunds?tzlich abraten, warum verwendest du keine Datenbank ??

    mfg d2 database
  6. 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
  7. Autor dieses Themas

    m***e

    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.
  8. e********l

    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.
  9. 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
  10. 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
  11. 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
  12. Autor dieses Themas

    m***e


    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
  13. 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
  14. Autor dieses Themas

    m***e

    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;?>
  15. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!