Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/11/2010, 09h54   #1
Membre actif
 
Homme
Inscription : octobre 2006
Messages : 664
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : octobre 2006
Messages : 664
Points : 197
Points : 197
Par défaut Conditions dans un "echo" ?

Bonjour,

Je voudrais placer un texte dans mon echo seulement à certaines conditions, je le fais comme ça :
Code :
1
2
 
echo '<tr class="ligne" id="'.$data['id'].'"><td class="click'.$lu.'" width="825px">'.date("d/m/Y à H:i:s", $data['horaire2']).' - '.$data['adresse'].' - CIS '.CodeToEntreprise($data['adresse']).'<br/>'.$data['message'].'</td>'.(strpos(CodeToEntreprise($data['adresse']), 'INCONNU') > 0) ? '<td width="25px"><a href="javascript:CreerIntervention('.$data['id'].')"><img src="../images/fleche_droite_16x16.png" alt=""/></a>'. : ''.'</td><td width="25px"><a href="javascript:SupprimerLigne('.$data['id'].')"><img src="../images/poubelle_16x16.png" alt=""/></a></td></tr>';
Voici le problème :
Code :
1
2
 
.(strpos(CodeToEntreprise($data['adresse']), 'INCONNU') > 0) ? '<td width="25px"><a href="javascript:CreerIntervention('.$data['id'].')"><img src="../images/fleche_droite_16x16.png" alt=""/></a>'. : ''.
Voici l'erreur :
Citation:
Parse error: syntax error, unexpected ':' in /home/www/4acebb53619ba068ecd4cb3210790ee3/web/inter/php/historique.php on line 52
Cependant, ça ne semble pas marcher...

Pouvez-vous me dire quelle est la meilleure méthode ?

Merci,
ZiP
[ZiP] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 10h07   #2
Membre actif
 
Homme
Inscription : octobre 2006
Messages : 664
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : octobre 2006
Messages : 664
Points : 197
Points : 197
J'ai réussi à le faire fonctionner en plusieurs lignes mais je n'arrive pas à le mettre en une seule :
Code :
1
2
3
4
 
echo '<tr class="ligne" id="'.$data['id'].'"><td class="click'.$lu.'" width="825px">'.date("d/m/Y à H:i:s", $data['horaire2']).' - '.$data['adresse'].' - CIS '.CodeToEntreprise($data['adresse']).'<br/>'.$data['message'].'</td><td width="25px">';
echo (strpos(CodeToEntreprise($data['adresse']), 'INCONNU') > 0) ? '' : '<a href="javascript:CreerIntervention('.$data['id'].')"><img src="../images/fleche_droite_16x16.png" alt=""/></a>';
echo '</td><td width="25px"><a href="javascript:SupprimerLigne('.$data['id'].')"><img src="../images/poubelle_16x16.png" alt=""/></a></td></tr>';
ZiP
[ZiP] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 10h48   #3
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
Bonjour,

Code php :
1
2
 
echo (strpos(CodeToEntreprise($data['adresse']), 'INCONNU') > 0) ? '<tr class="ligne" id="'.$data['id'].'"><td class="click'.$lu.'" width="825px">'.date("d/m/Y à H:i:s", $data['horaire2']).' - '.$data['adresse'].' - CIS '.CodeToEntreprise($data['adresse']).'<br/>'.$data['message'].'</td><td width="25px"></td><td width="25px"><a href="javascript:SupprimerLigne('.$data['id'].')"><img src="../images/poubelle_16x16.png" alt=""/></a></td></tr>' : '<tr class="ligne" id="'.$data['id'].'"><td class="click'.$lu.'" width="825px">'.date("d/m/Y à H:i:s", $data['horaire2']).' - '.$data['adresse'].' - CIS '.CodeToEntreprise($data['adresse']).'<br/>'.$data['message'].'</td><td width="25px"><a href="javascript:CreerIntervention('.$data['id'].')"><img src="../images/fleche_droite_16x16.png" alt=""/></a></td><td width="25px"><a href="javascript:SupprimerLigne('.$data['id'].')"><img src="../images/poubelle_16x16.png" alt=""/></a></td></tr>';

Reste à savoir si l'opérateur ternaire est ici le meilleur choix...
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 12h29   #4
Membre actif
 
Homme
Inscription : octobre 2006
Messages : 664
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : octobre 2006
Messages : 664
Points : 197
Points : 197
Bonjour Madfrix,

Il n'est donc pas possible de mettre la condition au cœur du echo comme je voulais le faire ?

Quelle méthode vous semblerait la meilleure ?

Cordialement,
ZiP
[ZiP] est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 13h53   #5
Membre Expert
 
Avatar de Madfrix
 
Inscription : juin 2007
Messages : 2 278
Détails du profil
Informations personnelles :
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : juin 2007
Messages : 2 278
Points : 2 324
Points : 2 324
un simple if me semblerait ici la meilleure solution. La clarté du code serait grandement améliorée
Madfrix est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 18h34   #6
Membre chevronné
 
Inscription : mars 2005
Messages : 583
Détails du profil
Informations forums :
Inscription : mars 2005
Messages : 583
Points : 651
Points : 651
Et sinon tu peux parfaitement concaténer une condition ternaire au milieu de n'importe quoi :
Code :
1
2
3
 
$var = true;
echo "La valeur de var est " . ( $var ? "true" : "false" ) . ". Oui Monsieur !";
__________________
Pourfendeur de singletons en croisade
Petibidon est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/11/2010, 18h54   #7
Membre actif
 
Homme
Inscription : octobre 2006
Messages : 664
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations forums :
Inscription : octobre 2006
Messages : 664
Points : 197
Points : 197
Effectivement, ça fonctionne !

J'ai surement commis une erreur dans ma ligne quand j'ai essayé de le faire...

Merci,
Mathieu
[ZiP] est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 10h16.


 
 
 
 
Partenaires

Hébergement Web