par
Darkbibou » 13 avr. 2005, 15:06
Voila mon code, l'affichage avec la boucle for pose problème car elle est à l'intérieur d'un while et je doit la laisser dedans car la valaeur de ping adresse est récupéré dedans, voici mon code:
<HTML>
<HEAD>
<TITLE> Affichage des données de la table gestion_machine </TITLE>
</HEAD>
<BODY>
<BR>
<H2 align="center">Voici la liste des machines répertoriées dans la base de données</H2>
<H3 align="center">Par ordre alphabétique</H3>
<BR>
<DIV align="center"><blockquote>Cliquez sur les l'adresse IP pour accéder à la page d'acceuil de l'imprimante ou pour prendre la main sur la machine !</blockquote>
<blockquote>Sinon cliquez sur le lien ci dessous pour accèder au formulaire de recherche :</blockquote>
<blockquote><A href="Recherche_Machine.html">Formulaire de recherche</A></blockquote></DIV>
<!-- Debut du script en php -->
<?
//connexion à la base de données:
$liendb=mysql_connect("localhost","root","")or die("la connexion à la base a échoué");
// selection de la base à remplir:
mysql_select_db("technique")or die("Impossible de se connecter à la base de données");
;
// requête de contrôle de l'affichage
$sql="SELECT * FROM gestion_machine ORDER BY Nom_machine";
$resultat=mysql_query($sql);
//$lgn=mysql_num_rows($resultat);
//$nbcol=mysql_num_fields($resultat);
/*affichage des données*/
echo"<TABLE border=1 align=center cellspacing=1>"; // creation du tableau d'affichage
while($affchamp = mysql_fetch_row($resultat))// creation d'une variable tableau qui stocke les données résultats de la recherche
{ // tant que $affchamp existe on fait:
echo"<TR>";
echo"<TD>".$affchamp[0]."</TD>"; //affiche la valeur du champ correspondant ici au nom de la machine
echo"<TD>".$affchamp[1]."</TD>"; // idem mais pour l'emplacement
echo"<TD>".$affchamp[2]."</TD>";
if ($affchamp[5]=="Imprimante"){ //Boucle de teste pour savoir quel est le type de l'appareil
$url2 = "http://"."$affchamp[3]"; // si c'est une imprimante on affiche son ip comme lien html
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}elseif ($affchamp[5]=="Ordinateur bureau"){
$url2 = "http://"."$affchamp[3]".":5800"; // si c'est un ordinateur on cree le lien html permettant de lancer VNC et de prendre la main
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}elseif ($affchamp[5]=="Ordinateur portable"){
$url2 = "http://"."$affchamp[3]".":5800";
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}elseif ($affchamp[5]=="Switch/Hub"){
$url2 = "http://"."$affchamp[3]".":5800";
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}else{
echo"<TD>".$affchamp[3]."</TD>"; // sinon on affiche juste l'IP
}
echo"<TD>".$affchamp[4]."</TD>";
echo"<TD>".$affchamp[5]."</TD>";
echo"<TD>".$affchamp[6]."</TD>";
// lancemenent d'un ping sur l'IP
echo"</TR>";
$adresse_ping= $affchamp[3];
echo "$adresse_ping --";
$ping_machine= exec("ping $adresse_ping",$out_ping);
//$ping_machine= exec('ping 194.214.236.246',$out_ping);
$taille_out= count($out_ping);
echo"$taille_out";
for ($i=0;$i<=count($out_ping);$i++) {
echo $out_ping[$i]."<br>";
}
} // fin du while/tant que
echo"</TABLE>";
// Fermeture de la base
mysql_close($liendb);
?>
<!-- fin du script en php -->
</BODY>
</HTML>
Voila mon code, l'affichage avec la boucle for pose problème car elle est à l'intérieur d'un while et je doit la laisser dedans car la valaeur de ping adresse est récupéré dedans, voici mon code:
<HTML>
<HEAD>
<TITLE> Affichage des données de la table gestion_machine </TITLE>
</HEAD>
<BODY>
<BR>
<H2 align="center">Voici la liste des machines répertoriées dans la base de données</H2>
<H3 align="center">Par ordre alphabétique</H3>
<BR>
<DIV align="center"><blockquote>Cliquez sur les l'adresse IP pour accéder à la page d'acceuil de l'imprimante ou pour prendre la main sur la machine !</blockquote>
<blockquote>Sinon cliquez sur le lien ci dessous pour accèder au formulaire de recherche :</blockquote>
<blockquote><A href="Recherche_Machine.html">Formulaire de recherche</A></blockquote></DIV>
<!-- Debut du script en php -->
<?
//connexion à la base de données:
$liendb=mysql_connect("localhost","root","")or die("la connexion à la base a échoué");
// selection de la base à remplir:
mysql_select_db("technique")or die("Impossible de se connecter à la base de données");
;
// requête de contrôle de l'affichage
$sql="SELECT * FROM gestion_machine ORDER BY Nom_machine";
$resultat=mysql_query($sql);
//$lgn=mysql_num_rows($resultat);
//$nbcol=mysql_num_fields($resultat);
/*affichage des données*/
echo"<TABLE border=1 align=center cellspacing=1>"; // creation du tableau d'affichage
while($affchamp = mysql_fetch_row($resultat))// creation d'une variable tableau qui stocke les données résultats de la recherche
{ // tant que $affchamp existe on fait:
echo"<TR>";
echo"<TD>".$affchamp[0]."</TD>"; //affiche la valeur du champ correspondant ici au nom de la machine
echo"<TD>".$affchamp[1]."</TD>"; // idem mais pour l'emplacement
echo"<TD>".$affchamp[2]."</TD>";
if ($affchamp[5]=="Imprimante"){ //Boucle de teste pour savoir quel est le type de l'appareil
$url2 = "http://"."$affchamp[3]"; // si c'est une imprimante on affiche son ip comme lien html
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}elseif ($affchamp[5]=="Ordinateur bureau"){
$url2 = "http://"."$affchamp[3]".":5800"; // si c'est un ordinateur on cree le lien html permettant de lancer VNC et de prendre la main
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}elseif ($affchamp[5]=="Ordinateur portable"){
$url2 = "http://"."$affchamp[3]".":5800";
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}elseif ($affchamp[5]=="Switch/Hub"){
$url2 = "http://"."$affchamp[3]".":5800";
echo"<TD>"."<A href='".htmlentities($url2)."'>$affchamp[3]</A>"."</TD>";
}else{
echo"<TD>".$affchamp[3]."</TD>"; // sinon on affiche juste l'IP
}
echo"<TD>".$affchamp[4]."</TD>";
echo"<TD>".$affchamp[5]."</TD>";
echo"<TD>".$affchamp[6]."</TD>";
// lancemenent d'un ping sur l'IP
echo"</TR>";
$adresse_ping= $affchamp[3];
echo "$adresse_ping --";
$ping_machine= exec("ping $adresse_ping",$out_ping);
//$ping_machine= exec('ping 194.214.236.246',$out_ping);
$taille_out= count($out_ping);
echo"$taille_out";
for ($i=0;$i<=count($out_ping);$i++) {
echo $out_ping[$i]."<br>";
}
} // fin du while/tant que
echo"</TABLE>";
// Fermeture de la base
mysql_close($liendb);
?>
<!-- fin du script en php -->
</BODY>
</HTML>