Remplacer un lien hypertexte récupéré dans la BDD par une image dans un tableau lorsque le lien existe

Eléphanteau du PHP | 12 Messages

16 juin 2020, 16:26

Bonjour;

Pour Afficher une image à la place d'un lien hypertexte récupéré dans la BDD j'ai utilisé le code suivant :

Code : Tout sélectionner

<td onclick ="location.href='<?php echo $queryResult['linksrc'];?>'"><?php echo'<img src = "HYP.jpg"/>';?></td>
Maintenant je voudrai réaliser 02 taches :
- si le lien hypertexte existe, faire en sorte qu'il apparaît dans une autre page
- En absence d'un lien hypertexte dans la BDD, ne pas afficher d'image
Quelqu'un peut m'aider à ce sujet :priere:

Merci d'avance

Avatar du membre
Mammouth du PHP | 1609 Messages

16 juin 2020, 16:35

Salut,
si le lien hypertexte existe, faire en sorte qu'il apparaît dans une autre page
Tu veux dire une autre fenêtre ou onglet ? target="_blank"
En absence d'un lien hypertexte dans la BDD, ne pas afficher d'image
Instruction if.
https://www.php.net/manual/fr/control-structures.if.php
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 12 Messages

17 juin 2020, 17:14

Salut;

J'ai essayé 02 solutions pour les 02 pb mais sans résultat, voilà ce que j'ai mis pour chaque PB :

1 - l'attribut target ne marche pas, en cliquant seule la page du lien apparait . peut être parcequ'il se trouve ds la balise <tr> ?
j'ai utilisé aussi window.open('tonurl', '_blank'); à la suite de l'attribut onclick voilà le code :

Code : Tout sélectionner

<tr onclick ="location.href='<?php echo $queryResult['linksrc'];?>';window.open('tonurl', '_blank');">
Le résultat est le même qu'en haut.
2 - j'ai introduit la condition if comme suite :
<td><?php if ($queryResult['linksrc']= '*') {echo'<img src = "HYP.jpg"/>';}?></td>
pb : l'image s'affiche toujours même en absence de lien et en cliquant la page est réfrechit (page vide)

berf quoi que je fasse je reste bloqué sur les 02 points 8-|

Avatar du membre
Mammouth du PHP | 1609 Messages

17 juin 2020, 17:19

L'attribut target ça se met sur un lien en fait. Si tu veux faire un clique sur tr avec du javascript, dans ce cas je pense que tu dois directement mettre le window.open à la place du location.href.

Et pour le if, l'opérateur de comparaison c'est ==. Le = tout seul c'est pour affecter une valeur et dans ce cas à moins que la valeur soit équivalente à false, la condition fera toujours un true.
Développeur web depuis + de 20 ans

Eléphanteau du PHP | 12 Messages

19 juin 2020, 16:14

Salut;
je pense avoir réglé le 02 ème pb =D> pas trop complqué à la fin , voilà le code revu :

Code : Tout sélectionner

<tr> <td onclick ="location.href='<?php echo $queryResult['linksrc'];?>';" target="_blank"> <?php if($queryResult['linksrc']){echo '<img src = "HYP.jpg"/>';}?></td> </tr>
pour ce qui est du

Code : Tout sélectionner

;" target="_blank"
, le pb demeure à savoir l'ouverture de la même page
Donc le PB est à 1/2 RESOLU :roll: