Mehrdimensionales Array auslesen

  • Hallo zusammen,


    habe schon probiert und gelesen, aber mit dem Array funkts nicht richtig.


    Ich generiere mit folgendem Code ein mehrdimensionals Array:



    Und dann rufe ich es so auf:


    Ich möchte wenn die $pic Variable, z.b. Foto0002.jpg gleich der Variable $zeilen[$i]['bild'] ist, das ich dann aus dem mehrdimensionalen Array z.b. die Klicks, Datum usw. auslesen kann.


    Vieleicht kann mir ja einer weiterhelfen? :)


    Grüße
    Dieter

  • zunaechst: was spricht beim zerlegen gegen den explode-befehl? musst du wirklich die gross- und kleinschreibung im array beachten?


    was gibt denn deine untere while-schleife ohne den if-construct aus? setz doch einfach mal ein echo oder print rein.


    hardy

  • Hallo theo,


    habe mit explode schon probiert. Geht nicht.
    Muss man das in ein Mehrdimensionales Array speichern oder geht das auch mit ein Eindimensionales? Böde Frage ich weiss :)


    Die Textdatei ist so aufgebaut


    bild = Foto0001.jpg
    klicks = 3
    datum1 = 2003
    datum2 = 12
    datum3 = 12 (13:10)
    datum4 = 2003


    Hier der String der Textdatei
    Foto0001.jpg - 3 - 2003-12-12 (13:10) - 2003-12-20 (22:11) - 1071231016 - 1071954714


    mfg
    Dieter

  • hi dieter,


    zunaechst: wenn es mit explode nicht funzt, dann is da schon woanders der wurm drin.


    dann: meinst du, dass ein "-" (ob nun mit oder ohne leerzeichen) ein guenstiges trennzeichen ist, wenn die datumsangaben so unterteilt werden?


    sag mal is eigentlich mein humanuider ram defekt oder war das nicht schonmal thema und da war die textdatei mit @@ unterteilt. was spricht also gegen ein oder zwei nette at´s bzw. das gute alte pipesymbol als trennzeichen. nur, um fehler zu vermeiden.


    was dein script angeht, so scheint mir die loesung auf den ersten blick nicht verkehrt. nur hast du dir zwischendurch mal die werte ohne das if-construct ausgeben lassen? vielleicht kommst du der loesung so naeher.
    falls nicht ... vielleicht hab ich nachher mal einen augenblick zeit, dein script zu testen.


    hardy

  • Hallo,


    Zitat

    dann: meinst du, dass ein "-" (ob nun mit oder ohne leerzeichen) ein guenstiges trennzeichen ist, wenn die datumsangaben so unterteilt werden?


    Das ist die Original TXT Datei vom Galerie Script. Kann ich leider nicht änderen.


    Zitat

    sag mal is eigentlich mein humanuider ram defekt oder war das nicht schonmal thema und da war die textdatei mit @@ unterteilt. was spricht also gegen ein oder zwei nette at´s bzw. das gute alte pipesymbol als trennzeichen. nur, um fehler zu vermeiden.


    Das stimmt, das war mit den Top 10 Fotos. Das habe ich inzwischen schon gelöst. Schau mal rein. Mk Auer



    Muss man mehrdimensionale Arrays nehmen?


    mfg
    Dieter

  • Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • @ Dennis The Mara


    erstmal danke, aber es funkt nicht.


    Wie soll ich den den String $pic mit dem Array $bild vergleichen. Also so gehts nicht.


    Ich möchte wenn ich das Foto0002.jpg (Variable $pic) öffne, das ich dann die anderen Werte wie $klicks, $datum1, $datum2, $datum3, $datum4.... auslesen kann, zu diesem Bild.



    mfg
    Dieter

  • Die Funktion, die ich zusammengebastelt habe,
    hat den Code:


    PHP
    1. <?php
    2. for ($i=0; $i<count($list); $i++) {
    3. if ($bild == $pic)
    4. {
    5. }
    6. ?>


    schon integriert.


    Das $pic muss per $_GET['pic'] gesendet werden, lässt sich aber auch ändern. Ich kommentier das mal, vielleicht wirds dann offentsichtlicher, was genau passiert:


    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • Hallo,


    habe getestet. Die Variable $pic wird übergeben. Hier nochmal der ganze Code.


    Wie soll ich die Variable ausgeben, das verstehe ich nicht.
    Einfach mit echo $klicks, echo $datum usw.?



  • naja, gucken wir mal, wie weit das ganze funktioniert

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • Hallo, so bin jetzt bis 19:45 zu Hause dann muss ich wieder Musikprobe gehen :)


    Bei deiner Testdatei kommt folgendes raus: (du hast ein tippfehler "exlode") Habe ich ausgebessert.

    $_GET['pic'] = Foto0001.jpg
    $pfad_dat = ./log/hochzeit2004.txt
    checkpoint 1 erreicht
    geprüft wird: Foto0001.jpg == Foto0001.jpg
    geprüft wird: Foto0002.jpg == Foto0001.jpg
    geprüft wird: Foto0003.jpg == Foto0001.jpg
    geprüft wird: Foto0062.jpg == Foto0001.jpg
    geprüft wird: Foto0063.jpg == Foto0001.jpg
    geprüft wird: Foto0064.jpg == Foto0001.jpg
    geprüft wird: Foto0065.jpg == Foto0001.jpg
    geprüft wird: Foto0066.jpg == Foto0001.jpg
    geprüft wird: Foto0067.jpg == Foto0001.jpg
    geprüft wird: Foto0004.jpg == Foto0001.jpg


    Nochwas: eigentlich brauche ich ja die $pfad_bild Variable ja nicht.
    Ich brauche ja nur aus der $pfad_dat, also Textdatei der Top 10 Fotos die Daten auslesen.


    Grüße

    Dieter


  • Code
    1. Foto0001.jpg == Foto0001.jpg

    verwirrend :)


    sollte das - aus nahezu unerklärlichen Gründen nicht funktionieren, versuchs mal mit split

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • Juhuuuuu, es funkt so danke.


    Du bist schneller gewesen als ich. Habe mein voriges Thread ausgebessert.


    Habe die $pfad_bild Variable entfernt. Es geht.


    Danke nochmals für die Hilfe. Super Forum. :):)


    Blöde Frage: wie wandle ich das Datum um: 2004-08-31 (18:53) in


    31.08.2004 (18:53 Uhr)


    Grüße
    Dieter

  • *puh* schwerer weg bis hierhin ;)


    Zur Datefrage. Also am einfachsten ist es, wenn du
    nicht das Datum als Datum, sonder als Unix-Timestamp speicherst time();
    Gibt nämlich

    Code
    1. Sekunden seit Beginn der UNIX-Epoche (January 1 1970 00:00:00 GMT)

    zurück.


    Mit dieser Sekundenanzeige kommt glücklicherweise jede php date funktion klar :)


    Ansonsten, wenn du diese Änderung nicht machen willst:
    mktime wird dir weiterhelfen.


    Code
    1. int mktime ( [int Stunde [, int Minute [, int Sekunde [, int Monat [, int Tag [, int Jahr [, int is_dst]]]]]]])


    Diese Funktion erstellt den oben genannten Unix-Timestamp aus dem von dir angegebenem Datum.


    Danach kannst du date verwenden. siehe bsp

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • ... oder auch

    PHP
    1. $neu = strtr($alt, "-", ".");
    2. $neu = eregi_replace("-", ".", $alt);


    such dir was aus ;)



    [edit] sorry ... jetzt hab ich wieder schneller geschrieben, als gelesen und nachgedacht :D
    da mach ich nun die letzten tage nix anderes als datumsangaben umrechnen und kann schon nicht mehr richtig lesen.


    aber dennis hat die sache schon gerettet ;)
    (ist ein echter zugewinn der "kleine junge" :) ) [/edit]

  • ämm..


    [vorher] 2004-08-31 (18:53)
    [nachher] 31.08.2004 (18:53 Uhr)


    eregi_replace() alleine bringts da nicht ;)

    Zwei Dinge sind Unbestreitbar:

    • In einem Land, in dem Amerika Krieg führt, herrscht nachher Demokratie.

    • Die Erde ist eine Scheibe!

    Aktuelle Abendlektüre: Stephen King, Peter Strauch: Das schwarze Haus (Black House, 2001)
    Aktuelle Bewertung: Abgesehen davon, dass der Roman mal wieder demonstriert, dass der Author geistesgestört ist, sehr träge; wenig Spannung; schlechter Erzählstil. King halt^^!

  • @alle


    danke nochmals vielmals für die Hilfe. Habe das von theo genommen weil ich diesen Datumstring nicht anders speicher kann, da es vom Galerie Script kommt.


    Grüße und danke nochmals für eure Hilfe. Werde euch mal ein Bier ausgeben :)


    Dieter