Problem mit while-Schleife ?

Boof

Mitglied
Hallo,
ich habe ein Problem und weiss absoult nicht woran es liegt.
Ich habe eine Funktion mit der ich Aufgaben erstellen kann. Bei der Anzeige der Aufgaben haperts aber noch undzwar möchte ich, dass wenn man der Verfasser einer Aufgabe ist, 2 extra Optionen für die Aufgabe hat. Man sollte sie dann löschen und bearbeiten können.

Ich habe dafür 2 Variablen:
PHP:
$_SESSION['verfasser'] //Benutzer-ID die beim einloggen gespeichert wird
$verfasser //In der Tabelle für die Aufgaben gespeichert

Als erstes habe ich eine while-Schleife erstellt, die mir den Verfasser ausgibt:
PHP:
$aufgabenauswahl = mysql_query("SELECT * FROM aufgaben WHERE empfaenger = '$b_iderg'");

while ($spalte = mysql_fetch_array($aufgabenauswahl)) {
		$verfasser = $spalte['verfasser'];
}

dann habe ich noch die extra Optionen in einer Variablen:
PHP:
if ($_SESSION['verfasser'] == $verfasser) {
		$aktion = '<table cellpadding="0" cellspacing="0" style="width:1003px;">
					<tr>
						<td style="width:150px;">
							<p class="t1">
								&nbsp;
							</p>
						</td>
						<td class="td4" colspan="3" style="width:703px; border:1px solid #000000; border-top:0px none; background-color:#C0C0C0;">
							<p class="t1">
								Aktion:	<a href="http://213.239.200.195/organizer/new/organizer.php?b_id='.$b_iderg.'&site=aufgabeneinzelnedit&a_id='.$a_id.'"> bearbeiten <a/> |
								<a href="http://213.239.200.195/organizer/new/organizer.php?b_id='.$b_iderg.'&site=aufgaben&anzeigen=einzeln&loeschen=true&a_id='.$a_id.'"> löschen <a/>
							</p>
						</td>
						<td style="width:149px; border-right:1px solid #000000;">
							<p class="t1">
								&nbsp;
							</p>
						</td>			
					</tr>
		</table>';
	}

Nur leider werden bei allen Aufgaben diese zusätzlichen Optionen angezeigt.

Also so ist das nicht ganz richtig.
Wenn der Verfasser der ersten Aufgabe der angemeldete Benutzer ist, werden bei allen darunterliegenden Aufgaben auch die Zusatzoptionen angezeigt.

Ich weiss echt nicht wodrann das liegen kann.

Kann mir jemand helfen ?
 
Hi,

ich versteh nich genau was du meinst.

Wie kann man das zurücksetzen ?

Um deine Frage zu beantworten:
Nein ich denke nicht. Es klingt aber schon sehr gut muss nur noch wissen was das ist :)
 
Also nehmen wir an der erste Verfasser ist angemeldete Benutzer, dann wird die If-Bedingung erfüllt und in der Variable $aktion werden die extra Optionen gespeichert. Anschließend wird der Verfasser, die Aufgabe und die Variable $aktion ausgegeben. Danach wird die nächste Aufgabe geladen. $aktion hat aber immernoch die extra Optionen gespeichert. Hier ist es jetzt egal, ob die If-Bedingung erfüllt wird oder nicht, $aktion hat immer die extra Optionen gespeichert. Du musst, falls Benutzer und Verfasser nicht übereinstimmen, $aktion wieder zurücksetzen. So solltest du das Problem lösen können:
PHP:
if ($_SESSION['verfasser'] == $verfasser) 
{
        $aktion = '<table cellpadding="0" cellspacing="0" style="width:1003px;"> ...';
}
else
{
        $aktion = '';
}
 
Hi,

jaaaaaaaaaaaa
das hat funktioniert.

Vielen vielen Dank bin schon Stunden am grübeln. ^^

Das Thema wäre hiermit erledigt.
 
Zurück