N'afficher qu'une seule icone avec la condition IF...

Eléphant du PHP | 96 Messages

17 juil. 2008, 17:01

Bonjour à tous,
Dans une info-bulle au passage sur un lien j'affiche des alertes pour des informations manquantes concernant le client.
Si une info est manquante, j'affiche une icone clignotante pour attirer l'attention du consultant. mais, si 2 infos ou plus sont manquantes cette icone est duppliquée autant de fois ! J'aimerais n'afficher qu'une seule icone mais avec les avertissements des infos manquantes dans l'info-bulle !
J'espére avoir été clair :lol:
Voilà le bout de code :
                                if ($vente['tel']=="")			
 				{	
		$lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];		 
		afficher_url($lien5,"<img src=\"images/exclame.gif\" width=\"6\" height=\"15\" border=\"0\"alt=\" ".$_SESSION['login_session'].", &#10 voulez-vous insérer des infos &#10 dans la fiche de Mr ".urldecode($vente[1])." ? &#10 Il manque le téléphone !!\">");						
		}
		if ($vente['notes']=="")
		{
		$lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];		 
		afficher_url($lien5,"<img src=\"images/exclame.gif\" width=\"6\" height=\"15\" border=\"0\"alt=\" ".$commer['commercial'].",&#10 voulez-vous insérer des infos &#10 dans la fiche de Mr ".urldecode($vente[1])." ? &#10 Il manque des infos clients !!\">");
		}
		if ($vente['adresse']=="")
		{
		$lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];		 
		afficher_url($lien5,"<img src=\"images/exclame.gif\" width=\"6\" height=\"15\" border=\"0\"alt=\" ".$commer['commercial'].",&#10 voulez-vous insérer des infos &#10 dans la fiche de Mr ".urldecode($vente[1])." ? &#10 Il manque l'adresse !!\">");
		}
Il doit y avoir plus simple que mon code, mais je ne vois pas.
Merci

Eléphanteau du PHP | 41 Messages

17 juil. 2008, 17:07

A tu essayer:
if ($vente['tel']=="")
            echo'<img src=\"images/exclame.gif\" width=\"6\" height=\"15\" border=\"0\"alt=\" >';
                 {    
        $lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];         
        afficher_url($lien5,"".$_SESSION['login_session'].", &#10 voulez-vous insérer des infos &#10 dans la fiche de Mr ".urldecode($vente[1])." ? &#10 Il manque le téléphone !!\">");                        
        }
        if ($vente['notes']=="")
        {
        $lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];         
        afficher_url($lien5,"".$commer['commercial'].",&#10 voulez-vous insérer des infos &#10 dans la fiche de Mr ".urldecode($vente[1])." ? &#10 Il manque des infos clients !!\">");
        }
        if ($vente['adresse']=="")
        {
        $lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];         
        afficher_url($lien5,"".$commer['commercial'].",&#10 voulez-vous insérer des infos &#10 dans la fiche de Mr ".urldecode($vente[1])." ? &#10 Il manque l'adresse !!\">");
        }
Je ne suis pas sûr que cela fonctionne mais bon...

Eléphant du PHP | 96 Messages

17 juil. 2008, 17:21

A tu essayer:

Je ne suis pas sûr que cela fonctionne mais bon...
Salut, je l'ai déjà essayé mais c'est pas bon...

Eléphant du PHP | 422 Messages

17 juil. 2008, 18:16

Au lieu de faire des affichage au fur et à mesure, il faut que tu constitue la chaîne à afficher au fur et à mesure. Du style :
$infobulle = '';
if ($telephone == '') {$infobulle .= "Il manque le téléphone. ";}
if ($adresse == '') {$infobulle .= "Il manque l'adresse. ";}
...
if ($infobulle) {
 echo "<img src='images/exclame.gif' alt=\"$infobulle\" title=\"$infobulle\">";
}

Mammouth du PHP | 693 Messages

17 juil. 2008, 18:24

TU peux tenter ca :

if ($vente['tel']=="")             
                 {     
        $lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];          
        $erreur[]="&#10 Il manque le téléphone !!";
                      
        } 
        if ($vente['notes']=="") 
        { 
        $lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];          
        $erreur[]="&#10 Il manque des infos clients !!"; 
        } 
        if ($vente['adresse']=="") 
        { 
        $lien5="index.php?liste=form_informations_clients&id_vente=".$vente['id_vente'];          
        $erreur[]="&#10 Il manque l'adresse !!"); 
        }
 
if (isset($erreur)) 
       {
       $msg="<img src=\"images/exclame.gif\" width=\"6\" height=\"15\" border=\"0\"alt=\" ".$_SESSION['login_session'].", &#10 voulez-vous insérer des infos &#10 dans la fiche de Mr ".urldecode($vente[1])." ?";
       foreach($erreur as $value) 
              {
               $msg.=$value;
               }
        afficher_url($lien5,$msg);
        }
 
A chaque fois qu'une information manque, elle est rangée dans un tableau. Ensuite, on teste l'existence de ce tableau. S'il existe, on le parcourt pour écrire le message. La présentation est sans doute à revoir, mais c'est l'idée.

EDIT : grillé par caroubé