condition sur 1 champ

Eléphant du PHP | 440 Messages

09 janv. 2010, 16:01

Bonjour,

ce code
<?php
$pseudo = $_SERVER['REMOTE_USER'];
 
if (isset($pseudo)) {
  mysql_connect("", "", "") or die('Erreur: mysql_connect.');
  mysql_select_db('businessr') or die('Erreur: mysql_select_db.');
  $requete = "SELECT * FROM jos_acajoom_subscribers WHERE login = '" . mysql_real_escape_string($pseudo) . "'";
  $resultat_sql = mysql_query($requete) or die('Erreur: ' . mysql_error());
  while ($resultat = mysql_fetch_assoc($resultat_sql)) 
  {
			echo '<img src="http://'. $resultat['VIP'] .'" width="120">';
  }
  mysql_free_result($resultat_sql);
}
else {
  echo 'Erreur ou accès non autorisé';
  exit;
}
?>
fonctionne parfaitement sous FF mais sous IE s'affichent une croix rouge pour les images inexistantes. Il faudrait intégrer une condition sur le champ VIP mais je ne sais comment faire.

Merci pour votre aide.
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 70 Messages

09 janv. 2010, 16:15

Que vaut ton champs VIP si il n'y a pas d'image?
Damien Vande Kerckhove - Developer PHP & .net
Mon blog

Eléphant du PHP | 440 Messages

09 janv. 2010, 17:12

Que vaut ton champs VIP si il n'y a pas d'image?
Je ne comprends pas la question !

Le champ VIP contient l'adresse d'une image ou rien. Il faudrait mettre une condition pour le cas où il n'y a rien.
Débutant complet en php/mysql. Merci pour votre aide.

Eléphant du PHP | 63 Messages

09 janv. 2010, 23:35

En fait ça ne fonctionne pas plus sur firefox que sous IE. Il s'agit juste d'une différence de rendu. En supposant que tu désires intercepter les cas où le champ VIP serait vide, un simple if dans ta boucle suffierait :
<?php
while ($resultat = mysql_fetch_assoc($resultat_sql)) {
    if (empty($resultat['VIP'])) {
        continue;
    }

    echo '<img src="http://', $resultat['VIP'], '" width="120">';
}
?>

Eléphant du PHP | 440 Messages

10 janv. 2010, 16:30

Merci. Il me manquait la syntaxe du If.
Débutant complet en php/mysql. Merci pour votre aide.