Page 1 sur 1

Opérateur terniaire + php/html imbriqué

Posté : 02 oct. 2005, 10:19
par SpcK
Slt, encore une petite question :
je veux faire un test du style (condition) ? instruction si vrai : instruction si faux. Ceci afin de ne pas faire de lien si l'url n'existe pas.

Voici mon code
 
<?php ($data['url']<>'') ? ?>
    <td> <a href="<?php echo($data['url']); ?>" target="_blank"><?php echo($data['Nom']); ?></a></font></td>
    <?php : ?>
    <td><?php echo($data['Nom']); ?></font></td> 
Je pense que je m'embrouille (erreur Parse error: parse error, unexpected ';' ) dans l'imbrication php / html qui donne en particulier 2 ? qui se suivent.
Une petite aide serait sympa, merci d'avance

Posté : 02 oct. 2005, 10:29
par Cyrano
Tu te compliques la vie. Essaye comme ça:
<?php
$cible = ($data['url'] != '') ? "<a href=\"". $data['url'] ."\"" : $data['url'];
?>
    <td><?php echo($cible); ?></td>
Note bien au passage que "différent" en PHP s'écrit "!=" et non "<>", cette dernière formulation étant propre au SQL.

Posté : 02 oct. 2005, 12:14
par SpcK
Merci de ta réponse mais je galère comme un malade sur ce bout de code depuis 1 plombe (je crois que je vais passer les 6 prochains mois dans le forum débutant...faudra d'ailleurs que je pense à m'inscrire quand j'aurais fini de coller sur mon code).

Dans ton exemple, que je pense comprendre, la balise a href n'est pas fermée, il manque le target=_blank et je voudrais aussi afficher le nom du tournoi ($data['Nom']).
En français :
si je possède le tableau en pdf ==> affichage du nom + lien dessus
si je ne possède pas le pdf ==> affichage du nom uniquement

Sinon, question subsidiaire : est-ce normal que les novices en php rêvent de points, d'apostrophes et de guillemets ?

Merci encore bcp pour ton aide précieuse

Posté : 02 oct. 2005, 12:34
par Truc
Dans ce cas il te suffit de rajouter le bout de code qu'il te manque... et pour mettre le nom du tournois le code de Cyrano devrai ressembler a ceci:
<?php
$cible = ($data['url'] != '') ? "<a href=\"". $data['url'] ."\" target=\"_blank\"> ".$data['Nom']." </a>" : $data['Nom'];
?>
    <td><?php echo($cible); ?></td>

Posté : 02 oct. 2005, 12:38
par SpcK
Génial merci [Résolu]