Daniel: Array-Wert finden und Eintrag ausgeben

Hallo miteinander

Habe wiedermal ein Problem:

Habe eine mySql-Abfrage aus einer Tabelle gemacht die etwa so aussieht:

id   name    type
1    feld1   path
2    feldx   text

Die Werte werden dann mit mysql_fetch_array in einen Array umgewandelt. (PS. wie sieht dieser Array eigentlich jetzt aus?)

Jetzt möchte ich mit diesem Array z.B. folgendes machen:

nach Wert "feld1" suchen und entsprechenden "type" (im Bsp. also "path") ausgeben lassen. Ich habe einfach keine entsprechende Arrayfunktion gefunden.

Hat jemand eine Idee oder muss ich mir mit "foreach" aushelfen?

Danke!

Gruss Daniel

  1. Hallo Daniel,

    Habe eine mySql-Abfrage aus einer Tabelle gemacht die etwa so aussieht:

    id   name    type
    1    feld1   path
    2    feldx   text
    Die Werte werden dann mit mysql_fetch_array in einen Array umgewandelt. (PS. wie sieht dieser Array eigentlich jetzt aus?)

    Das hängt von Deiner mysql_fetch_array()-Anweisung ab, die wir leider nicht lesen können.
    http://www.php.net/manual/de/function.mysql-fetch-array.php

    Dein Array kann also als nummeriertes Array vorliegen, als assoziatives Array, oder als beides zusammen.

    Jetzt möchte ich mit diesem Array z.B. folgendes machen:
    nach Wert "feld1" suchen und entsprechenden "type" (im Bsp. also "path") ausgeben lassen. Ich habe einfach keine entsprechende Arrayfunktion gefunden.

    $zeile = mysql_fetch_array($abfrage_ergebnis);
    in
    $zeile['type'] steht "path"
    $zeile[2] steht ebenfalls "path"

    Bitte beachte, dass mysql_fetch_array() stets _einen_ Datensatz ausliest, d.h. eine Zeile Deines Abfrageergebnisses.

    Und vergiss ebenfalls nicht, stets nachzuprüfen, ob der Aufruf einer Funktion erfolgreich war.

    Gruss,

    Vinzenz

    --
    Die FAQ </faq/> des Forums sind lesenswert und hilfreich.
    1. Hallo Vinzenz

      Vielen Dank für die Antwort. Es ist ein MYSQL_ASSOC-Array:-)

      Dein Vorschlag:

      $zeile = mysql_fetch_array($abfrage_ergebnis);
      in
      $zeile['type'] steht "path"
      $zeile[2] steht ebenfalls "path"

      Ich möchte aber den Wert "feld1" suchen und den entsprechenden "type" (im Bsp. also "path") ausgeben lassen, dh. ich muss doch irgendwie zuerst den Zeiger auf die entsprechende Zeile setzen? Sonst weiss das Script ja gar nicht auf welcher Zeile es den Pfad auslesen muss...oder bin ich schwer-von-begriff?

      Gruss Daniel

      1. Hallo Daniel,

        Ich möchte aber den Wert "feld1" suchen und den entsprechenden "type" (im Bsp. also "path") ausgeben lassen, dh. ich muss doch irgendwie zuerst den Zeiger auf die entsprechende Zeile setzen? Sonst weiss das Script ja gar nicht auf welcher Zeile es den Pfad auslesen muss...oder bin ich schwer-von-begriff?

        Nein, nicht ganz. Ich hab' nicht alles gelesen.

        Ich verstehe Dich jetzt so:
        Du bist an dem Eintrag in der Spalte "type" interessiert, aber nur im Fall, dass in der Spalte "name" der Wert "feld1" steht.

        In diesem Fall brauchst Du Dir nicht die ganze Tabelle zurückgeben zu lassen, sondern nur das, was Du suchst. Das geht mit SQL so:

        SELECT type
        FROM tabellenname
        WHERE name='feld1';

        Du bekommst eine einspaltige Tabelle, in der das Gesuchte steht.

        Gruss,

        Vinzenz

        --
        Die FAQ </faq/> des Forums sind lesenswert und hilfreich.