[ php / C ] Boucle for et condition if
Résolu/Fermé
elmarokinho
Messages postés
58
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
6 février 2009
-
21 avril 2008 à 10:54
elmarokinho Messages postés 58 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 6 février 2009 - 21 avril 2008 à 12:49
elmarokinho Messages postés 58 Date d'inscription vendredi 18 janvier 2008 Statut Membre Dernière intervention 6 février 2009 - 21 avril 2008 à 12:49
A voir également:
- [ php / C ] Boucle for et condition if
- Excel cellule couleur si condition texte - Guide
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Easy php - Télécharger - Divers Web & Internet
- Condition et excel - Guide
- Copytrans heic for windows - Télécharger - Visionnage & Diaporama
7 réponses
Bonjour,
je voudrais pas dire une connerie, mais c'est peut etre normal que tu aies 49 fois la meme chose si l'instruction est la meme dans le if et dans le else...
De plus, j'aurais écrit
$test = "Fa0/".$i;
je voudrais pas dire une connerie, mais c'est peut etre normal que tu aies 49 fois la meme chose si l'instruction est la meme dans le if et dans le else...
De plus, j'aurais écrit
$test = "Fa0/".$i;
Ben je connais pas la maniere dont tu calcules, mais mettons que $result_port = Fa0/1
Ca rentre dans la boucle, ca rentre dans le if, ca exécute les instructions, ca boucle, et ensuite ca tombe 48 fois dans le else avant de sortir du for...
Ca rentre dans la boucle, ca rentre dans le if, ca exécute les instructions, ca boucle, et ensuite ca tombe 48 fois dans le else avant de sortir du for...
elmarokinho
Messages postés
58
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
6 février 2009
4
21 avril 2008 à 11:42
21 avril 2008 à 11:42
oui peut etre je m'y prend mal désolé ...
en fait je voudrais un truc comme sa :
si le port est de type Fa0/x :
" c'est un port fast-ethernet"
sinon " c'est un port d'interconnexion" ..
donc comme les num de port vont de 1 a 48, je pense qu'il faut testé pour chaque numéro.
je me trompe?
que proposerait tu pour faire ça?
merci
en fait je voudrais un truc comme sa :
si le port est de type Fa0/x :
" c'est un port fast-ethernet"
sinon " c'est un port d'interconnexion" ..
donc comme les num de port vont de 1 a 48, je pense qu'il faut testé pour chaque numéro.
je me trompe?
que proposerait tu pour faire ça?
merci
Ben euh mettons que t'aies un code comme ca
blah blah
$result_port=....
blah blah
<?php
for ($i=1; $i<49; $i++)
{
$test = "Fa0/".$i;
if ($result_port=="$test")
{
$fast_ethernet = true
}
}?>
<?php if($fast_ethernet == true): ?>
<?php echo "Ceci est un port Fast Ethernet ?>
Modulo les erreurs de php que j'ai pu faire, mais ca donne un truc du genre du coup ce que tu veux non? Enfin là c'est crado parce que je fais plein de boucles pour rien, mais c'est le genre de trucs dont t'as besoin, tu testes tous les ports Fast Ethernet existants pour voir si le port que tu cherches en fait partie ?
blah blah
$result_port=....
blah blah
<?php
for ($i=1; $i<49; $i++)
{
$test = "Fa0/".$i;
if ($result_port=="$test")
{
$fast_ethernet = true
}
}?>
<?php if($fast_ethernet == true): ?>
<?php echo "Ceci est un port Fast Ethernet ?>
Modulo les erreurs de php que j'ai pu faire, mais ca donne un truc du genre du coup ce que tu veux non? Enfin là c'est crado parce que je fais plein de boucles pour rien, mais c'est le genre de trucs dont t'as besoin, tu testes tous les ports Fast Ethernet existants pour voir si le port que tu cherches en fait partie ?
elmarokinho
Messages postés
58
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
6 février 2009
4
21 avril 2008 à 11:50
21 avril 2008 à 11:50
en fait si j'enleve la partie Else .. ça marche a moitié.
-> si je teste le port Fa0/14
j'ai ce message :
" La machine se trouve sur le port Fa0/14 du
La machine est branchée directement sur ce switch"
c'est exactement ce que je recherche.
si je teste une machine sur le port Gi0/1 je n'ai evidement rien...
mais comment inclure juste un phrase dans ce else?
-> si je teste le port Fa0/14
j'ai ce message :
" La machine se trouve sur le port Fa0/14 du
La machine est branchée directement sur ce switch"
c'est exactement ce que je recherche.
si je teste une machine sur le port Gi0/1 je n'ai evidement rien...
mais comment inclure juste un phrase dans ce else?
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
elmarokinho
Messages postés
58
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
6 février 2009
4
21 avril 2008 à 12:01
21 avril 2008 à 12:01
ouais en fait moi sa marche avec ce bout de code a la barbare
mais parfois (rarement) il ya des port types "vl1" donc si le script en trouve un c'est foutu. je vais testé le tien.
merci
<?php for ($i=1; $i<49; $i++) { $test = 'Fa0/'.$i; if ($result_port == $test) { ?> La machine est branchée directement sur ce switch <?php } } for ($i=1; $i<3; $i++) { $test = 'Gi0/'.$i; if ($result_port == $test) { ?> Interconnexion <?php } } ?>
mais parfois (rarement) il ya des port types "vl1" donc si le script en trouve un c'est foutu. je vais testé le tien.
merci
elmarokinho
Messages postés
58
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
6 février 2009
4
21 avril 2008 à 12:22
21 avril 2008 à 12:22
Voila je teste ça ,
<?php
for ($i=1; $i<49; $i++)
{
$test = 'Fa0/'.$i;
if ($result_port == $test)
{
$fa = true ;
}
else
{
$fa = false;
}
}
if ($fa == true)
{ ?>
La machine est branchée directement sur ce switch
<?php }
else
{ ?>
Il s'agit d'un port d'interconnexion
<?php }
}
?>
mais je ne comprends pas. Si je test une machine sur le port Fa0/14 ou Gi0/1 j'ai le meme message
" Il s'agit d'un port d'interconnexion"
vraiment désolé mais je ne maitrise pas trop le php ..
<?php
for ($i=1; $i<49; $i++)
{
$test = 'Fa0/'.$i;
if ($result_port == $test)
{
$fa = true ;
}
else
{
$fa = false;
}
}
if ($fa == true)
{ ?>
La machine est branchée directement sur ce switch
<?php }
else
{ ?>
Il s'agit d'un port d'interconnexion
<?php }
}
?>
mais je ne comprends pas. Si je test une machine sur le port Fa0/14 ou Gi0/1 j'ai le meme message
" Il s'agit d'un port d'interconnexion"
vraiment désolé mais je ne maitrise pas trop le php ..
elmarokinho
Messages postés
58
Date d'inscription
vendredi 18 janvier 2008
Statut
Membre
Dernière intervention
6 février 2009
4
21 avril 2008 à 12:49
21 avril 2008 à 12:49
En fait j'ai laissé tombé cette méthode , plus simple :
je test les 2 premiere lettres :
Fa -> ok
else ->interconnexion
voila sa marche,
parfois c'est tout con mais jme prend la tete pour rien lol
merci
je test les 2 premiere lettres :
Fa -> ok
else ->interconnexion
voila sa marche,
parfois c'est tout con mais jme prend la tete pour rien lol
merci
21 avril 2008 à 11:16
mais dans le if et le else ce n'est pas la meme chose, c'est juste que je n'ai pas tout mis ici.
mais le probleme n'est pas la , je ne devrait avoir qu'un seul résultat non?
par exemple si le
port=Fa0/12 ->instruction du if
= Gi0/1 -> else
tu vois ce que je veux dire?
merci