Array-Wert finden und Eintrag ausgeben
Daniel
- php
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
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
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
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