Afficher une image depuis une url dans la base de données

Eléphant du PHP | 233 Messages

30 janv. 2013, 09:51

Bonjour,
je voudrais afficher une image stockée dans la base de données, c'est une URL

Voilà ma requête mais rien ne s'affiche :
$banurl=mysql_fetch_row(mysql_query("SELECT banurl FROM annuaire"));


echo '<img src="'.$banurl[19].'"/>';
Merci de votre aide...

ViPHP
xTG
ViPHP | 7331 Messages

30 janv. 2013, 11:27

Tu sélectionnes une seule colonne mais tu tentes d'accéder à la colonne 19 de ta requête. ;)
C'est $banurl['banurl'] la donnée.

Eléphant du PHP | 233 Messages

30 janv. 2013, 11:53

Oui effectivement l'URL est dans la colonne 19
Cela ne change rien de mettre $banurl[19] ou $banurl['banurl'], ni l'un ni l'autre affiche l'image....

ViPHP
xTG
ViPHP | 7331 Messages

30 janv. 2013, 12:14

Oui mais pas colonne 19 de ton jeu de sélection...
$res = mysql_query("SELECT banurl FROM annuaire");
if( $res === false ){
  die(mysql_error()); // à ne pas mettre sur un serveur en production
}else{
  $r = mysql_fetch_array($res);
  echo "Valeur de la base de données : " . $r['banurl'] . "<br />";
  echo '<img src="'.$r['banurl'].'"/>';
}
A noter aussi que le driver mysql est obsolète et sera supprimé dans les version futures de PHP.
Il est de notoriété d'utiliser mysqli ou bien l'interface PDO.

Eléphant du PHP | 233 Messages

30 janv. 2013, 12:21

Ah oui effectivement c'est beaucoup mieux =D>

Je vais regarder pour passer en PDO

Eléphant du PHP | 233 Messages

01 févr. 2013, 11:51

Bonjour,
je voudrais à présent répéter toutes les images stockées dans la BDD, j'ai utilisé une boucle while mais rien ne s'affiche.

Merci pour votre aide

Eléphant du PHP | 233 Messages

02 févr. 2013, 12:00

Bonjour à tous
voici ma requête qui fonctionne , mais je voudrais afficher les images que quand la colonne 19 ($r['banurl'] est remplie.
Merci de vos réponses...
<?php
	

$res = mysql_query("SELECT banurl, url FROM annuaire WHERE valid=1");

  while($r = mysql_fetch_array($res)) {
  
  echo '<a href="'.$r['url'].'" target="_blank" title="Annuaire généraliste gratuit, accéder à ce site"><img src="'.$r['banurl'].'"/></a><br>';
}
													
?>

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 8758 Messages

02 févr. 2013, 13:52

Salut,

Qu'est ce qui s'affiche ? (Regarde le source html)

Tu peux conditionner l'affichage de l'image (avec un if) suivant s'il y a ou non quelque chose dans cet Index.

@+
Il en faut peu pour être heureux ......

Eléphant du PHP | 233 Messages

02 févr. 2013, 18:13

Voici la modification avec if (!empty) mais qui ne change rien...
$res = mysql_query("SELECT banurl, url FROM 1two_annuaire_sites WHERE valid=1");

   while($r = mysql_fetch_array($res)) {
if (!empty ($r)) {
  echo '<hr><a href="'.$r['url'].'" target="_blank" title="Annuaire généraliste gratuit, accéder à ce site"><img src="'.$r['banurl'].'"/></a><br><hr>';
} else { echo 'rien';
}
}