If-schleife funktioniert nun nur bedingt

Hallo,
vielleicht kann mir jemand helfen, ich bin gerade am verzweifeln.
Und zwar habe ich ein kleines Programm das je nach vorherigem Tabelleneintrag ein kleines Auswahlmenü erstellen soll. Eben immer mit anderen Werten, je nach Eintrag in der Tabelle vorher.

Nun ist es so, das der Automat mit das auch mit der if-schleife macht. Ich durchsuche ein Array mit einem Wert. Wenn der Wert in dem Array vorhanden ist, sollte er die if-Schleife durchlaufen. Das klappt jetzt auch alles. Das Programm gibt mir die von mir gewünschten Einträge aus.

Wenn ich jedoch eine „else if Schleife“ erstelle, zeigt der mir nur eine leere Auswahlliste an, obwohl da ein Wert drin stehen muss!!! auch wenn ich nur „else“ eingebe, füllt das Programm mir nicht die Auswahlliste

Kann mir da vielleicht jemand helfen. Hier mein code dazu:

$abfrage = „SELECT Projektname_Nr FROM rollen WHERE Institution_soll = ‚Hochschule‘ and id = „.$_SESSION[‚id_login‘].““;
$ergebnis = mysql_query($abfrage);
$nummern = array();
while($row = mysql_fetch_assoc($ergebnis))
{
$nummern[] =$row[‚Projektname_Nr‘];
}
$abfrage5 = „SELECT Projektname_Nr FROM rollen WHERE Institution_soll = ‚Betrieb‘ and id = „.$_SESSION[‚id_login‘].““;
$ergebnis5 = mysql_query($abfrage5);
$nummern5 = array();
while($row5 = mysql_fetch_assoc($ergebnis5))
{
$nummern5[] =$row5[‚Projektname_Nr‘];
}
?> <?php if(in_array($_SESSION[‚soll_projekt_nr‘],$nummern ))
{
$abfrage1 = sprintf(„SELECT stellen_nr FROM stelle WHERE name_messender_nr IN(%s)“,implode(’,’, $nummern));
$ergebnis1 = mysql_query($abfrage1);
$nummern1 = array();
while($row1 = mysql_fetch_assoc($ergebnis1))
{
$nummern1[] = $row1[‚stellen_nr‘];
}

$abfrage2 = sprintf(„SELECT name_leistungsmessung FROM leistungsbeurteilung WHERE stellen_nr IN(%s)“,implode(’,’, $nummern1));
$ergebnis2 = mysql_query($abfrage2);
$nummern2 = array();
while($row2 = mysql_fetch_assoc($ergebnis2))
{
$nummern2[] = $row2[‚name_leistungsmessung‘];
echo ‚‘.$row2[name_leistungsmessung].’’;
}
}

else if(in_array($_SESSION[‚soll_projekt_nr‘],$nummern5 ))
{
$abfrage3 = sprintf(„SELECT stellen_nr FROM stelle WHERE name_messender_nr IN(%s)“,implode(’,’, $nummern5));
$ergebnis3 = mysql_query($abfrage3);
$nummern3 = array();
while($row3 = mysql_fetch_assoc($ergebnis3))
{
$nummern3[] = $row3[‚stellen_nr‘];
}

$abfrage4 = sprintf(„SELECT name_leistungsmessung FROM leistungsbeurteilung WHERE stellen_nr IN(%s)“,implode(’,’, $nummern3));
$ergebnis4 = mysql_query($abfrage4);
$nummern4 = array();
while($row4 = mysql_fetch_assoc($ergebnis4))
{
$nummern4[] = $row4[‚name_leistungsmessung‘];
echo ‚‘.$row4[name_leistungsmessung].’’;
}
}
?>


Danke schon einmal im vorraus

nur mal zwei kleine Anmerkungen

  1. Formatiere Deinen PHP Code bitte zukünftig. Es ist wesentlich einfacher, wenn man gleich sieht welche Klammer zu welcher gehört. Benutze dazu dann hier das pre-tag

  2. „else if“ ist zwar möglich, aber es ist auch wirklich das, was Du da schreibst - erst ein else, dann ein if.
    Verwende hier ein „elseif“

zum Problem an sich - lass Dir ausgeben ob bzw was noch alles ausgegeben wird. Ohne die Datenbank bzw die Arrays, die dort ausgegeben werden macht es keinen Spass das ganze zu debuggen…