Array Feld bearbeiten

Daaguru

Erfahrenes Mitglied
Hi,
bei dieser sql-abfrage wird mir der komplette datensatz geliefert, den ich möchte.
Es wird mir also diese Tabelle ausgegeben:

Code:
pos |nick  |  name      |       email       |         icq         | recht |
    1  |guru | Daniel      | bla@bla.de  | 123123123 |      2   |
    2  |bubu| Dennis     | bla@bla.de  | 123123123 |      2   |
wie kann ich jetzt die SPALTE[email] als Link hinterlegen?

PHP:
$query = "SELECT pos, nick, name, email, icq, recht FROM members ORDER BY recht"; 
$result = mysql_query($query); 
while ($rows = mysql_fetch_assoc($result)) {
				
foreach ($rows as $bla) {
    				
   $inhalt.="$bla";
					  		
   }
}
 
Code:
foreach ($row as $sCol=>$sVal) {
    $inhalt .= ($sCol != "email")?$sVal:sprintf("<a href=\"mailto:%s\">%s</a>", $sVal, $sVal);
}
 
hiho,

hm, das funktioniert so nicht, php meldet mir:
Invalid argument supplied for foreach()

könntest du mir evtl erklären was diese Funktion macht?
Was bewirkt das ? in der Funktion?
 
Das Problem war, das ich in meinem Beispiel $row verwendet hab`, du aber
$rows benutzt.

Naja, ok, foreach macht folgendes:
Code:
// Möglichkeit 1
foreach ($aArray as $sWert) {
    printf("\$aArray[] = \"%\";<br>\r\n", $sWert);
}
// Durchläuft das gesamte Array, speichert bei jedem Durchlauf
// den Wert der Aktuellen Position in $sWert

//Möglichkeit 2
foreach ($aArray as $sKey=>$sWert) {
    printf("\$aArray['%s'] = \"%s\";<br>\r\n", $sKey, $sWert);
}
// Das gleiche wie 1, nur dass jetzt in $sKey der Name des
// Array-Schlüssels gespeichert wird. $sWert bleibt gleich
hth
 
Original geschrieben von Daaguru
hiho,

hm, das funktioniert so nicht, php meldet mir:
Invalid argument supplied for foreach()

könntest du mir evtl erklären was diese Funktion macht?
Was bewirkt das ? in der Funktion?

Du wolltest wissen, was foreach macht. Ich habe Dir den Link zur Erklärung gegeben. Dort steht alles, was man dazu wissen muss! Du hättest es vielleicht mal lesen müssen! Manche Leute wollen hier einfach alles vorgekaut haben :mad:

Ein Auszug aus der Funktionsreferenz:
...
foreach(array_expression as $value) Anweisung
foreach(array_expression as $key => $value) Anweisung

Die erste Form durchläuft das array_expression-Array. Bei jedem Durchgang wird der Wert des aktuellen Elements $value zugewiesen und der interne Array-Zeiger um eins erhöht. Dadurch wird beim nächsten Durchgang automatisch das nächste Element ausgewertet.

Die zweite Form arbeitet genauso, außer dass bei jedem Durchlauf auch der aktuelle Schlüssel der Variablen $key zugewiesen wird.

...

Das ist doch im Endeffekt genauso verständlich. Und Beispiele sind auch dabei.

Warum muss man bei simplen Fragen immer seitenlange Beiträge schreiben, obwohl alle wichtigen Informationen bereits an anderer Stelle zusammengefasst sind.

snuu
 
Zuletzt bearbeitet:
Danke Fabian.
Foreach ist mir jetzt mit Hilfe des Links und deinem Beispiel klarer geworden.

Dennoch hab ich noch was zu sagen:

Du hättest es vielleicht mal lesen müssen! Manche Leute wollen hier einfach alles vorgekaut haben :mad:
Warum muss man bei simplen Fragen immer seitenlange Beiträge schreiben

Also snuu pass mal auf, ich bin sehr eigeninitiativ und muss mir hier von dir
nicht sowas an kopf werfen lassen. ok?

du kannst hier nicht einfach irgendwelche behauptungen in raum werfen,
ohne zu wissen, wie sich die leute hier bemühen. wenn dir die problematik zu einfach ist::misch dich einfach nicht ein ?!
ich will es nicht vorgekaut haben.
ich hab es jediglich nicht genau verstanden! (auf dieser seite nicht).
ich habe den link nicht übersehen! (also manche leute bilden sich was ein)

Dein Beitrag, genauso wie meiner, sind hier gründe, warum solche seitenlangen Beiträge entstehen.

pEace!

~daA|guRu~
 
Zurück