PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP schleife mit Ausnahme?


Bösewicht
2011-12-11, 09:30:48
Ich hab eine Schleife
while($row = mysql_fetch_assoc($res)){
Die gibt mir alle Mitglieder aus.
Nun möchte ich das der eigene Name nicht angezeigt wird.
Ich hab nun eine ganze weile gesucht und alles geht in Richtung
http://php.net/manual/de/function.unset.php

// löscht ein einzelnes Element eines Arrays
unset($row['meinname']);
Ich frage mich wie es möglich sein soll meinen Session Name dort raus zu löschen.
Der Name variiert ja bei jeden Benutzer also geht ein direktes $row['meinname'] schon mal nicht.

Wie löst ihr das ich weiß nicht weiter:(

Kinman
2011-12-11, 10:31:06
Du kannst statt row['meinname'] auch $row[$name] schreiben. Wenn in $name "meinname" steht, dann hat das die gleiche Wirkung. Und einen auslassen:

a.) Gleich bei der SQL Abfrage
b.) Mit einer if-Abfrage innerhalb der while


while([condition)
{
if ($row['wasauchimmer'] != $name)
{
..
}
}


Übrigens hast du in der while als Condition eine Zuweisung. Ich verwende fetch_assoc nicht, darum weiß ich nicht, ob das hier so möglich ist oder nicht.

lg Kinman

Nevermore4ever
2011-12-11, 12:27:03
Wenn der eigene Datensatz nicht gebraucht wird, kann er schon in der SQL-Abfrage ausgeschlossen werden mit WHERE NOT name = '.$name.' (oder so ähnlich).

Wenn er lediglich dieses eine Mal übersprungen werden soll, kann man das machen mit if $row[$name] continue;

Wenn er gebraucht wird, dann aber gelöscht werden soll, kann man das in der genannten Schleife machen mit if $row[$name] {
unset $row[$name];
continue;
}

Dazu muss ich aber noch sagen, dass ich es etwas komisch finde, wenn ein Benutzername als Key eines Arrays vorkommt. Ich hätte als Key so etwas wie "username" erwartet, während der eigentliche Name als Wert unter diesem Schlüssel abgelegt ist. Dann ändern sich die Bedingungen zur Form if $row['username'] == $name usw.

Bösewicht
2011-12-11, 12:30:23
danke ihr beiden ich gucke mal ob ich es gebacken bekomme.
Nochmal danke!