[RESOLU] Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

Re: [RESOLU] Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

par two3d » 26 juin 2020, 17:38

tu peut enlever <?php else: ?> je penses pour faire juste une condition non binaire ;)

Re: [RESOLU] Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

par buda_kaka » 26 juin 2020, 12:00

Salut;

Merci à tous les intervenants finalement on m'a filé ce code :D

Code : Tout sélectionner

<td><?php if($queryResult['linksrc']): ?><a target=_blank" href="<?=$queryResult['linksrc']?>"><img src="HYP.jpg"></a><?php else: ?><?php endif; ?></td>
Et ça marche très bien :wink:

Re: Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

par two3d » 20 juin 2020, 11:21

Si tu veux obligatoirement passer par un lien javascript il te faut voir window.open: https://developer.mozilla.org/fr/docs/W ... indow/open

Tu peux sinon afficher ton lien en mode "hack" avec CSS en position absolute sur ton TR:

1. tu met le tr en position relative
2. tu met ta balise a en position absolute avec les paramètres top:0;right:0;bottom:0;left:0 :wink: c'est ce que j'utilise quand je dois placer un lien sur un contenu et qui est valide (du moins je penses) et plus propre que d'entourer la contenu avec ma balise <a>contenu</a>

Re: Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

par buda_kaka » 19 juin 2020, 16:42

Salut.

Mrci d'avoir répondu et surtout de m'avoir bien conseillé car je viens de résoudre une partie du PB, suis vraiment débutant en php et autres langages 8-) voilà le code :

Code : Tout sélectionner

<td onclick ="location.href='<?php echo $queryResult['linksrc'];?>';" target="_blank"> <?php if($queryResult['linksrc']){echo '<img src = "HYP.jpg"/>';}?></td>
Mais pour ce qui est de l'affichage du lien dans une autre page je reste stagné malgré l'emploi du

Code : Tout sélectionner

target="_blank"
.
Y a t il un autre moyen pour pouvoir le faire ? :mrgreen:

Re: Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

par two3d » 18 juin 2020, 23:17

Salut, réponse logique: si tu ne veut pas que l'image s'affiche quand il y a pas de données dans la BDD, demande si il y a pas de données (une condition PHP)

Par exemple: "if !data (rien) else (affiche)"

Le mieux serait de faire une seule condition (en fin, pas binaire je veux dire): "if data (affiche)"

"faire apparaitre le lien que cache l'image dans une autre page" moi pas comprendre, sauf peut si tu cherche une données dans la table avec GET et l'afficher dans la page, il te faudrait pour cela afficher le lien "location.href='<?php echo $queryResult['linksrc'];?>'" avec un get, soit:

location.href='<?php echo $queryResult['linksrc'];?>?id=<?php echo $queryResult['id'];?>'

Afficher une image à la place d'un lien hypertexte s'il y a des données à récupérer de la BDD

par buda_kaka » 15 juin 2020, 12:55

Salut tout le monde :lol:

Me revoilà une fois encore dans un autre problème qui empêche le bon fonctionnement de mon site :oops:
en effet, j'ai réussit à récupérer des données de ma BDD représentant des liens hypertextes ['linksrc'], sous le code suivant :

Code : Tout sélectionner

<?php if (isset ( $_POST['submit-search'])){ $search =$_POST['search']; $search = mysqli_real_escape_string ($conn, $_POST['search']); $query =("SELECT * FROM 13_mje WHERE 13_mje.titrliv LIKE '%{$search}%' OR 13_mje.id_mje LIKE '%{$search}%' GROUP BY id_mje"); $result =mysqli_query ($conn, $query ); if ($queryResult = $_POST['search']){ while ( $queryResult = mysqli_fetch_array( $result)){ ?> <tbody> <tr onclick ="location.href='<?php echo $queryResult['linksrc'];?>'" > ?>
puis à les faire afficher sous une image (représentant un lien hypertexte ) et non sous la forme "lien hypertexte ", pour gagner de l'espace .

Code : Tout sélectionner

<tr onclick ="location.href='<?php echo $queryResult['linksrc'];?>'" > <td> <?php echo '<img src = "HYP.jpg"/>'; ?></td> <td><?php echo $queryResult['idfsrc']; ?></td> <td><?php echo $queryResult['mjesrc']; ?></td> </tr>
Cela dit après l'observation des résultats je me suis rendu compte que ladite image s'affiche trjs même en absence de données dans la BDD ce qui rend la présentation désagréable à voir, j'ai donc besoin de 02 choses :
- effacer l'image en cas d'absence de données de la BDD
- faire apparaitre le lien que cache l'image dans une autre page

Tout intervention sera appréciable tant qu'elle incite à la réflexion 8-|