Hi Leute...
Ich hab ein ganz fettes Prob mit PHP....
$query2 = "SELECT * FROM pinghosts ORDER BY iphost";
$hostlist2 = mysql_query($query2);
echo "<table border=1 cellspacing=1 cellpadding=1>";
echo "<tr><td bgcolor=\"BBBBBB\">Hostname</td><td bgcolor=\"BBBBBB\">Beschreibung</td><td bgcolor=\"BBBBBB\">Status</td></tr>";
while($row2 = mysql_fetch_object($hostlist2))
{
echo "<tr><td bgcolor=\"BBBBFF\">";
echo $row2->iphost;
echo "</td><td bgcolor=\"BBBBFF\">";
echo $row2->description;
echo "</td><td";
$pingstatus = exec("ping -n 1 ".$row2->iphost,$directoutput,$returnval);
$pingstat = explode("(",$directoutput[6]);
$pingstatclean = explode("%",$pingstat[1]);
$lost = $pingstatclean[0];
if($lost == 0)
{
echo " bgcolor=\"00CC00\">pingable".$lost;
}
else
{
echo " bgcolor=\"CC0000\">not pingable".$lost;
}
echo "</td></tr>";
}
echo "</table>";
Das Problem ist nun... Bei der while schleife fürs auslesen jeder einzelnen Zeile nimmt die Variable $lost, also die die den Datenverlust beim Ping anzeigt den ersten RICHTIGEN wert der ersten Zeile an. Allerdings dieser Wert bleibt dann unverändert für alle anderen Zeilen...
Also der Eintrag für alle anderen Dinge wie hostname oder beschreibung ändern sich und nur der WErt der neu berechnet werden soll wird nicht neu berechnet... Vielleicht ist es ja schon spät und ich checks gerade nicht... Wäre für jede Hilfe dankbar..
LG
Gate



Zitieren
