IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Conditions dans un "echo" ? [PHP 5.3]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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 :
    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

  2. #2
    Membre éprouvé
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Par défaut
    J'ai réussi à le faire fonctionner en plusieurs lignes mais je n'arrive pas à le mettre en une seule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  3. #3
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    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...

  4. #4
    Membre éprouvé
    Homme Profil pro
    Paramétreur de progiciels
    Inscrit en
    Octobre 2006
    Messages
    970
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Paramétreur de progiciels

    Informations forums :
    Inscription : Octobre 2006
    Messages : 970
    Par défaut
    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

  5. #5
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    un simple if me semblerait ici la meilleure solution. La clarté du code serait grandement améliorée

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Par défaut
    Et sinon tu peux parfaitement concaténer une condition ternaire au milieu de n'importe quoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $var = true;
    echo "La valeur de var est " . ( $var ? "true" : "false" ) . ". Oui Monsieur !";

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/04/2005, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo