Chris: Problem mit "in_array"

Beitrag lesen

Hallo,

wie schon im Titel gesagt hab ich ein Problem mit der "in_array" Funktion. Und zwar möchte ich Folgendes realisieren. Ich möchte eine Liste von Servern ausgeben die in einer Datenbank stehen und bestimmten Verträgen zugeordnet werden sollen. Dazu habe ich eine Tabelle in der alle Server stehen, eine Tabelle in der alle Verträge stehen und eine Tabelle in der die Server den Verträgen zugeordnet werden. Hoffe ihr konntet soweit folgen. Nun sollen, wenn man sich einen Vertrag anzeigen lässt, alle Server mit einer Checkbox daneben aufgelistet werden. Die Server die dem Vertrag schon zugeordnet sind sollen dann schon ein Häkchen haben, alle anderen natürlich nicht. Klingt eigentlich ganz leicht, aber irgendwie macht mir die "in_array" Funktion gerade das Leben schwer.

Hier mal der Quelltext zu dem was ich mir da ausgedacht habe. Nicht wundern, die Checkboxen sind da noch nicht berücksichtigt, er soll mir einfach erstmal ausgeben das der Server schon bei den "zu überwachenden" vorhanden ist und nicht mehr ausgegebn werden muss.

#-----------alle überwachende Server ausgeben----------

$sql_monitoring_select = mysql_query("select * from monitoring_hosts where contracts_id = '".$contracts_id."'");
$i = 0;
while($monitoring_select = mysql_fetch_array($sql_monitoring_select, $connect)) {

$server[$i] = $monitoring_select[host_name];

$i = $i++;

echo $server[$i]."<br>";

}

#------------------------------------------------------

#-----------alle Server ausgeben----------

$sql_monitoring_all = mysql_query("select * from hoststatus");

while($monitoring_all = mysql_fetch_array($sql_monitoring_all, $connect)) {

if (in_array($monitoring_all[host_name], $server)) {

echo "vorhanden<br>";

}
        else
        {
        echo $monitoring_all[host_name]."<br>";
        }

}

#------------------------------------------