Page 1 sur 1

Probleme " alt= "

Posté : 21 avr. 2006, 20:19
par alexdarcy
Bonjour
j'ai un chti probleme afin d'afficher un texte sur une image avec la fonction alt=" " .

voici le code :
<TD vAlign=middle bgColor=#000000 align="center"> ';
            echo '<img src="'.$dossier_img; 
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension) ) ? 'logo_cours_'.$data['ID'].$extension : 

'no_logo.gif' ; 
echo '" width="111" height="46" border="0"/>
</TD> 
quelqu'un a t-il une idée ?

J'avais essayé ceci :
<TD vAlign=middle bgColor=#000000 align="center"> ';
            echo '<img src="'.$dossier_img; 
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension alt='.$data['nom'].') ) ? 'logo_cours_'.$data['ID'].$extension alt='.$data['nom'].' : 

'no_logo.gif' ; 
echo '" width="111" height="46" border="0"/>
</TD> 
mais ça ne donne rien :oops: :oops:
:cry:

Posté : 21 avr. 2006, 20:35
par jojolapine
c'est tout fouillit tout ça, moi je ferait comme ça:
<TD vAlign=middle bgColor=#000000 align="center">
<?php
if(file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension) {
   echo "<img src=\"".$dossier_img."logo_cours_".$data['ID']."".$extension."\" alt=\"".$data['nom']."logo_cours_".$data['ID']."".$extension;
} else {
   echo "<img src=\"no_logo.gif\" alt=\"no logo\"";
}
echo " width=\"111\" height=\"46\" border=\"0\" />";
?>
</TD>
voila je pense que ça devrait marcher

Posté : 21 avr. 2006, 22:18
par alexdarcy
c'est tout fouillit tout ça, moi je ferait comme ça:
<TD vAlign=middle bgColor=#000000 align="center">
<?php
if(file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension) {
   echo "<img src="".$dossier_img."logo_cours_".$data['ID']."".$extension."" alt="".$data['nom']."logo_cours_".$data['ID']."".$extension;
} else {
   echo "<img src="no_logo.gif" alt="no logo"";
}
echo " width="111" height="46" border="0" />";
?>
</TD>
voila je pense que ça devrait marcher
non non jojo mais c'est un extrait du code. Ce que tu me rajoutes est deja dans le script original.
Ce que je veux juste savoir est comment insérer le alt='.$data['nom'].'
Voilà

Posté : 21 avr. 2006, 22:20
par jojolapine
remplace ton code par le mien (en enlevant les balises php) et ça devrait marcher, puisque je t'ai mit les attributs alt=

Posté : 21 avr. 2006, 22:37
par alexdarcy
non ça ne marche po !!

Posté : 21 avr. 2006, 22:46
par cicom
bonjour, je pense avoir trouvé une erreur dans les " du if
essaie avec ca

Code : Tout sélectionner

<TD vAlign="middle" bgColor="#000000" align="center"> <?php if(file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension) { echo "<img src=\"".$dossier_img."logo_cours_".$data['ID']."".$extension."\" alt=\"".$data['nom']."logo_cours_".$data['ID']."".$extension."\""; } else { echo "<img src=\"no_logo.gif\" alt=\"no logo\""; } echo " width=\"111\" height=\"46\" border=\"0\" />"; ?> </TD>

Posté : 21 avr. 2006, 22:52
par alexdarcy
bon voici tout le code qui fonctionne. Je dis bien qui fonctionne !! :wink:
<?php 
// on se connecte à MySQL 
$db = mysql_connect('localhost', 'ecole', 'xxxx'); 

// on sélectionne la base 
mysql_select_db('ecole',$db); 


$numeroPage = isset($_GET['numeroPage']) ? $_GET['numeroPage'] : 0; 
$numeroPagePrecedent = $numeroPage - 1; 
$numeroPageSuivant = $numeroPage + 1;
// numero de la page à afficher, commencer à 0 
$nbElementParPage = 5; // nombre d'éléments par page 
$indexAffiche = $numeroPage * $nbElementParPage; // index à partir du quel on va afficher les éléments. 
//Donc en fonction du numero de la page, tu obtiendras 0*10 = 0; 1*10=10; 2*10=20 etc.

// on crée la requête SQL 
$sql = "SELECT ID,nom,lieu,adresse,metro,tel,mail,site,info FROM ecoles_tbl ORDER BY gpe ASC LIMIT $indexAffiche , $nbElementParPage";

// dossier image
$dossier_img = './upload/';
$chemin_image = $dossier_img.'logo_cours_'.$data['ID'].gif; 
$extension = '.gif';

// on envoie la requête 
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

// on fait une boucle qui va faire un tour pour chaque enregistrement 
while($data = mysql_fetch_assoc($req)) 
{ 
    // on affiche les informations de l'enregistrement en cours
   
        echo' <table border="0" cellpadding="0" cellspacing="0" width="100%">
          <tr>
          <TD width="21"><IMG height=50 alt="" 
            src="../logos/tlc.gif" 
            width=20 border=0 name=tlc></TD>
          <TD width="678" 
          background="../logos/tm.gif" colspan="2"><IMG 
            height=1 alt="" 
            src="../logos/spacer.gif" 
            width=1 border=0 name=tm></TD>
          <TD width="21"><IMG height=50 alt="" 
            src="../logos/trc.gif" 
            width=20 border=0 name=trc></TD>
          </tr>
          <tr>
          <TD 
          background="../logos/left.gif" rowspan="3" width="21"><IMG 
            height=1 alt="" 
            src="../logos/spacer.gif" 
            width=1 border=0 name=left></TD>
          <TD vAlign=middle bgColor=#000000 align="center" width="100%">
            <font color="#FF7E00"><b>'.$data['nom'].'</b></font>
            <hr>
</TD>
          <TD vAlign=middle bgColor=#000000 align="center"> '; 
            echo '<img src="'.$dossier_img; 
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension) ) ? 'logo_cours_'.$data['ID'].$extension : 
'no_logo.gif' ; 
echo '" width="111" height="46" border="0"/> 
</TD> 
 
</TD> ';
          echo ' <TD 
          background="../logos/right.gif" rowspan="3" width="21"><IMG 
            height=1 alt="" 
            src="../logos/spacer.gif" 
            width=1 border=0 name=right></TD>
          </tr>
          <tr>
          <TD vAlign=middle bgColor=#000000 align="center" width="678" colspan="2">
            <b>'.$data['lieu'].'</b><br>
                                        Contact '.$data['tel'].'<br>
                                        Adresse '.$data['adresse'].'<br>
                                        Métro '.$data['metro'].'<br>
                                        Mail : <a href="mailto:'.$data['mail'].'">'.$data['mail'].'</a><br>
                                        Site internet : <a href="http://'.$data['site'].'" target="_blank"">'.$data['site'].'</a>
            <hr>                    
</TD>
          </tr>
          <tr>
          <TD vAlign=middle bgColor=#000000 width="100%" colspan="2">
            <u>Infos supplémentaires</u> :  '.$data['info'].'  
</TD>
          </tr>
          <tr>
          <TD width="21"><IMG height=30 alt="" 
            src="../logos/blc.gif" 
            width=20 border=0 name=blc></TD>
          <TD 
          background="../logos/btm.gif" width="678" colspan="2"><IMG 
            height=1 alt="" 
            src="../logos/spacer.gif" 
            width=1 border=0 name=btm></TD>
          <TD width="21"><IMG height=30 alt="" 
            src="../logos/brc.gif" 
            width=20 border=0 name=brc></TD>
          </tr>
        </table><br>
      </DIV>';
}

{ 
    // on affiche les informations de l'enregistrement en cours 
    echo '<a href="?numeroPage='.$numeroPagePrecedent.'"><p align="center">Précédent</a> 
<a href="?numeroPage='.$numeroPageSuivant.'">Suivant</a></p>';
}

// on ferme la connexion à mysql 
mysql_close(); 
?> 
le but est juste de rajouter un alt= à 'logo_cours_

:cry:

Posté : 22 avr. 2006, 06:14
par alexdarcy
Personne ? :cry: :cry: :oops:

Posté : 22 avr. 2006, 08:40
par Cyrano
Salut : petits conseils : sépare donc le PHP du html et aligne proprement tout ça, ça fera moins "torchon" et tu auras beaucoup moins de mal à débugguer si nécessaire : Pour ton texte alternatif, ce n'est pas sorcier : d'abord déplacer la vérification de l'existence d'un fichier image et ensuite on fait la même chose pour déterminer si on met un texte alternatif : j'ai modifié et tajouté une ligne ou deux avec commentaires au tout début de la boucle while :
<?php
// on se connecte à MySQL
$db = mysql_connect('localhost', 'ecole', 'xxxx');

// on sélectionne la base
mysql_select_db('ecole',$db);


$numeroPage = isset($_GET['numeroPage']) ? $_GET['numeroPage'] : 0;
$numeroPagePrecedent = $numeroPage - 1;
$numeroPageSuivant = $numeroPage + 1;
// numero de la page à afficher, commencer à 0
$nbElementParPage = 5; // nombre d'éléments par page
$indexAffiche = $numeroPage * $nbElementParPage; // index à partir du quel on va afficher les éléments.
//Donc en fonction du numero de la page, tu obtiendras 0*10 = 0; 1*10=10; 2*10=20 etc.

// on crée la requête SQL
$sql = "SELECT ID,nom,lieu,adresse,metro,tel,mail,site,info FROM ecoles_tbl ORDER BY gpe ASC LIMIT $indexAffiche , $nbElementParPage";

// dossier image
$dossier_img = './upload/';
$chemin_image = $dossier_img.'logo_cours_'.$data['ID'].gif;
$extension = '.gif';

// on envoie la requête
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());

// on fait une boucle qui va faire un tour pour chaque enregistrement
while($data = mysql_fetch_assoc($req))
{
    /* Ici on détermine s'il y a une image ou si on affiche l'image par défaut */
    $image = (file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension) ) ? 'logo_cours_'.$data['ID'].$extension : 'no_logo.gif' ;
    /* Si on a une image, récupération du texte alternatif */
    $alt = (file_exists($dossier_img.'logo_cours_'.$data['ID'].$extension) ) ? "" : null;
    // on affiche les informations de l'enregistrement en cours
?>
<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <TD width="21"><IMG height=50 alt="" src="../logos/tlc.gif" width=20 border=0 name=tlc></TD>
    <TD width="678" background="../logos/tm.gif" colspan="2"><IMG height=1 alt="" src="../logos/spacer.gif" width=1 border=0 name=tm></TD>
    <TD width="21"><IMG height=50 alt="" src="../logos/trc.gif" width=20 border=0 name=trc></TD>
  </tr>
  <tr>
    <TD background="../logos/left.gif" rowspan="3" width="21"><IMG height=1 alt="" src="../logos/spacer.gif" width=1 border=0 name=left></TD>
    <TD vAlign=middle bgColor=#000000 align="center" width="100%">
      <font color="#FF7E00"><b><?php echo($data['nom']); ?></b></font>
      <hr>
    </TD>
    <TD vAlign=middle bgColor=#000000 align="center">
      <img src="<?php echo($dossier_img . $image); ?>" width="111" height="46" border="0" alt="<?php echo($alt); ?>" />
    </TD>
    <TD background="../logos/right.gif" rowspan="3" width="21"><IMG height=1 alt="" src="../logos/spacer.gif" width=1 border=0 name=right></TD>
  </tr>
  <tr>
    <TD vAlign=middle bgColor=#000000 align="center" width="678" colspan="2">
      <b><?php echo($data['lieu']); ?></b><br>
      Contact <?php echo($data['tel']); ?><br>
      Adresse <?php echo($data['adresse']); ?><br>
      Métro <?php echo($data['metro']); ?><br>
      Mail : <a href="mailto:<?php echo($data['mail']); ?>"><?php echo($data['mail']); ?></a><br>
      Site internet : <a href="http://<?php echo($data['site']); ?>" target="_blank"><?php echo($data['site']); ?></a>
      <hr> 
    </TD>
  </tr>
  <tr>
    <TD vAlign=middle bgColor=#000000 width="100%" colspan="2">
      <u>Infos supplémentaires</u> : <h5><?php echo($data['info']); ?></h5> 
    </TD>
  </tr>
  <tr>
    <TD width="21"><IMG height=30 alt="" src="../logos/blc.gif" width=20 border=0 name=blc></TD>
    <TD background="../logos/btm.gif" width="678" colspan="2"><IMG height=1 alt="" src="../logos/spacer.gif" width=1 border=0 name=btm></TD>
    <TD width="21"><IMG height=30 alt="" src="../logos/brc.gif" width=20 border=0 name=brc></TD>
  </tr>
</table>
</DIV>
<?php
}
/* !ATTENTION : il manque un if() ou quelque chose du genre ICI */
{
    // on affiche les informations de l'enregistrement en cours
    echo '<a href="?numeroPage='.$numeroPagePrecedent.'"><p align="center">Précédent</a>
    <a href="?numeroPage='.$numeroPageSuivant.'">Suivant</a></p>';
}

// on ferme la connexion à mysql
mysql_close();
?>

Posté : 23 avr. 2006, 14:18
par alexdarcy
merci Cyrano ça fonctionne parfaitement.
Pour le texte alternatif, j'ai ajouté $data['nom'] et enlevé les guigui :P
Oui la présentation est plus clair, je tacherai d'y penser pour la prochaine fois :wink:

Ok je mets Résolu !
Bon dimanche a toi :wink:

Posté : 23 avr. 2006, 16:48
par Cyrano
Oui la présentation est plus clair, je tacherai d'y penser pour la prochaine fois
Note bien qu'en ce qui me concerne, je m'en cogne, tu fais ce que tu veux, si tu préfères ton codage original, ça te regarde hein ? c'est pour toi-même que je dis ça, et puis ma signature est assez explicite sur le problème :langue:

Posté : 23 avr. 2006, 23:26
par alexdarcy
lol

:wink: