Accueil > Forum > > > > Condition if qui ne fonctionne pas !!!
Condition if qui ne fonctionne pas !!!
mercredi 27 octobre 2010 à 13:58:21 |
Condition if qui ne fonctionne pas !!!

sly456328971
|
Bonjour,
j'ai ma fonction suivante me permettant d'afficher un tableau :
Code PHP : function afficher($fichier, $separateur)
{
$tab = file($fichier); // le fichier est placé dans un tableau ($tab[0] correspond à la 1ere ligne du fichier)
print "<table border=\"1\" cellpadding=\"3\" cellspacing=\"2\">";
$num_ligne=1;
for($i=0;$i<count($tab);$i++) // on compte le nombre de lignes et tant qu'on n'a pas parcouru tout le fichier
{
// on découpe une chaine de caractères lorsqu'on rencontre $separateur afin de créer un dans un tableau
$position=explode($separateur,$tab[$num_ligne-1]);
print "<tr>";
if ($position[2]=faux)
{
print "<td><img src='/essai/images/rouge.jpg' width=30 height=30 border='no'></td>";
}
else
{
print "<td><img src='/essai/images/vert.jpg' width=30 height=30 border='no'></td>";
}
$act=$position[0];
$cli=$position[1];
print "<td align='center'>$act</td>"; // on affiche $act
print "<td align='center'>$cli</td>";
// on affecte à chaque ligne un id utilisé pour la suppression d'une ligne précise
print "<td><a href=\"".$_SERVER['PHP_SELF']."?suppr=".$i."\"><img src='/essai/images/poubelle.png' width=35 height=35 border='no'></a></td>";
print "</tr>";
$num_ligne++;
}
print "</table>";
}
Mon souci est que lorsque le mot se trouvant en troisieme position de mon fichier texte après le deuxieme pipe donc est à vrai, il ne me change pas l'image.
Merci de votre aide.
|
|
mercredi 27 octobre 2010 à 14:13:24 |
Re : Condition if qui ne fonctionne pas !!!

ludwig59
|
Bonjour,
L'élément de comparaison d'égalité n'est pas un simple '=' mais un double :
Code PHP :
if($position[2] == "faux")
{
// traitement image rouge
}
else
{
// traitement image verte
}
|
|
mercredi 27 octobre 2010 à 14:14:52 |
Re : Condition if qui ne fonctionne pas !!!

TychoBrahe
|
Salut,
Code PHP :
L'opérateur égal est pour une affectation, pas une comparaison. De plus, le mot clé faux n'existe pas en php.
|
|
mercredi 27 octobre 2010 à 14:19:30 |
Re : Condition if qui ne fonctionne pas !!!

sly456328971
|
if($position[2] == "faux") ne fonctionne pas, il m'affiche que des images vertes.
TychoBrahe, mon fichier texte se compose ainsi :
param1|param2|vrai
param3|param4|faux ...
help
|
|
mercredi 27 octobre 2010 à 14:24:53 |
Re : Condition if qui ne fonctionne pas !!!

ludwig59
|
Dans ta boucle FOR fais des echo de $position[2] pour voir ce qu'il affiche.
|
|
mercredi 27 octobre 2010 à 14:28:01 |
Re : Condition if qui ne fonctionne pas !!!

sly456328971
|
je l'ai déja fait et il m'affiche bien ce qu'il faut soit :
vrai vrai faux vrai vrai vrai vrai faux ....
|
|
mercredi 27 octobre 2010 à 14:29:00 |
Re : Condition if qui ne fonctionne pas !!!

sly456328971
|
j'ai remplacé "faux" par 0 en mettant des 0 dans mon fichier texte à la place des faux et des 1 a la place des vrai et ça fonctionne ...
bizarre
|
|
jeudi 28 octobre 2010 à 01:48:04 |
Re : Condition if qui ne fonctionne pas !!!

TychoBrahe
|
Réponse acceptée !
Salut,
Si ta condition ne fonctionne pas c'est sans doute parce que ta chaîne "faux" lue dans le fichier est suivie d'un retour à la ligne. L'utilisation de trim() sur les données récupérées règle le problème. Voici ton code simplifié et corrigé (cependant le html reste dégueu) :
Code PHP : <?php
function afficher($fichier, $separateur)
{
echo '<table border="1" cellpadding="3" cellspacing="2">';
$tab = file($fichier);
foreach ($tab as $line)
{
$data = explode($separateur, $line);
if (sizeof($data) != 3)
continue ;
if (strtolower(trim($data[2])) == 'faux')
echo '<td><img src="/essai/images/rouge.jpg" width="30" height="30" border="no"></td>';
else
echo '<td><img src="/essai/images/vert.jpg" width="30" height="30" border="no"></td>';
echo '<td align="center">', trim($data[0]), '</td>';
echo '<td align="center">', trim($data[1]), '</td>';
}
echo '</table>';
}
?>
|
|
mercredi 3 novembre 2010 à 10:27:29 |
Re : Condition if qui ne fonctionne pas !!!

sly456328971
|
Merci beaucoup TychoBrahe, ta solution marche à la perfection !!
Cependant je n'arrive toujours pas à faire fonctionner mon click sur image. J'ai donc ceci :
Code PHP :
$tab = file($fichier); // le fichier est placé dans un tableau ($tab[0] correspond à la 1ere ligne du fichier)
print "<table border=\"1\" cellpadding=\"3\" cellspacing=\"2\">";
$num_ligne=1;
for($i=0;$i<count($tab);$i++) // on compte le nombre de lignes et tant qu'on n'a pas parcouru tout le fichier
{
// on découpe une chaine de caractères lorsqu'on rencontre $separateur afin de créer un dans un tableau
$position=explode($separateur,$tab[$num_ligne-1]);
print "<tr>";
[b] if (strtolower(trim($position[2])) == 'faux')
{
print "<td><img src='/essai/images/rouge.jpg' width=30 height=30 border='no' onclick=document.location.href='enregistrement.php'></td>";
}
else
{
print "<td><img src='/essai/images/vert.jpg' width=30 height=30 border='no' onclick=self.location.href='suppression.php'></td>";
}[/b]
$act=$position[0];
$cli=$position[1];
print "<td align='center'>$act</td>"; // on affiche $act
print "<td align='center'>$cli</td>";
}
L'image est donc affiché en fonction du troisieme paramètre de mon fichier texte qui ressemble à cela :
truc1|Machin1|faux
truc2|Machin2|faux
truc3|Machin3|vrai
si le parametre est faux = rouge.jpg sinon vert.jpg
J'aimerais que lorsqu'on clique sur une ligne avec l'image rouge cette ligne passe au vert en remplacant dans le fichier texte le parametre à 'faux' par 'vrai' et remplacer toutes les autres par 'faux'. Je ne sais pas si l'événement Onclick doit faire appel à une fonction php ou si on peut faire cela en javascript ...
|
|
mercredi 3 novembre 2010 à 12:02:54 |
Re : Condition if qui ne fonctionne pas !!!

sly456328971
|
j'ai essayé ça mais ça ne fonctionne pas :
Code PHP :
if (isset($_GET['ajout'])) // Si on demande de supprimer une ligne
{
$tab = file("affichage.txt");
$num_ligne =1;
for ($cpt = 0; $cpt<count($tab);$cpt++)
{
$position=explode('|',$tab[$num_ligne-1]);
for ($a = 0; $a<count($tab);$a++)
{
$position=explode('|',$tab[$a]);
$position[2]='0';
}
$actif .= ($cpt!=$_GET['ajout']) ? $position[$cpt] : "vrai"; // on supprime la ligne sélectionnée en la remplaçant par une ligne vide
$fic = fopen ("affichage.txt", 'w');
str_replace($actif,$position[3]);
$numligne++;
header('Location: index.php'); // on recharge cette page pour la réactualiser
}
}
récupération de l'id :
Code PHP :
if (strtolower(trim($position[2])) == 'faux')
{
print "<td><a href=\"".$_SERVER['PHP_SELF']."?ajout=".$j."\"><img src='/essai/images/rouge.jpg' width=30 height=30 border='no'></a></td>";
}
else
{
print "<td><a href=\"".$_SERVER['PHP_SELF']."?ajout=".$j."\"><img src='/essai/images/vert.jpg' width=30 height=30 border='no'></a></td>";
}
|
|
Cette discussion est classée dans : fichier, ligne, position, print, if
Répondre à ce message
Sujets en rapport avec ce message
récupérer un fichier de la BD MYSQL [ par mao54 ]
salutj'ai des fichier stockés dans la base de donnée et j'ai une methode de recherche qui affiche ces resultats dans un tableau.je souhaite dans la co
PHP unexpected T_IF [ par libuma ]
Bonjour,Pourriez-vous m'aider avant que je casse autre chose que ma souris svp!! >_Voici mon erreur : Parse error: syntax error, unexpected T_IF in C
Membre en ligne [ par dclick07 ]
Voici mon probleme. Je sais que dans le profil d'un membre ce code ci-dessous me permet de voir si un membre est en ligne mais lorsque j'utilise ce c
problème de upload de fichier [ par theboubourse ]
bonjour voila je souhaiterais uploader des fichier mais je n'y arrive pas si vous pouvez m'aider merci voici le code que j'ai et qui fonctionne lorsq
Retour a la ligne et écriture [ par DjChat ]
bonjour a tous, j'ai fait un script d'upload d'image et j'ai besoin qu'une fois qu'elle est uploder il m'ecrive dans un fichier texte images/le nom de
PROBLEME AUX FONCTIONS D'AJAX [ par hindweb ]
bonjour a tousMerci de m'aider à trouver ma fautej'ai créer une base de donnée avec une table(inscrit) de 2 champ login et passet j'ai créer ce fichie
Tableau de fichiers [ par ninho44 ]
Bonjour a tous,Voila alors j'ai un petit souci en PHP et n'étant pas encore très doué je fais appel à vos talents.Mon problème est que sur une de mes
Upload ? [ par robapt ]
Bonjour, je fais pour un site en ce moment un code qui demande un mots de passe avant qu'on puisse uploader le fichier qu'on choisit, j'ai les 2 code
php rafraichissement d'une ligne de code avec ajax [ par speedylol ]
Bonjour,une aidez pour la partie ajax qui devrais rafraichire automtiquement et qui de fonctionne pas quand le fait appel par un include dans mon gaba
Pb Impression automatique [DEPLACE] [ par Falcon074 ]
Bonjour tout le monde !!! J'ai un pb d'impression automatique d'une page HTML sous IE 7. Ce code fonctionne mais pour les version antérieur à la versi
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : GOOGLE MAPRE : GOOGLE MAP par inwebo
Cliquez pour lire la suite par inwebo GOOGLE MAPGOOGLE MAP par fatmanajjar
Cliquez pour lire la suite par fatmanajjar
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|