Page 1 sur 3

Image par defaut 2

Posté : 14 avr. 2006, 13:41
par alexdarcy
Alors maintenant que les erreurs de "ouverture-fermeture" ne sont plus qu'un très lointain souvenir, j'ai un autre probleme, l'image (logo) par défaut s'affiche partout et l'image (logo) téléchargée ne s'affiche po !
Je dois préciser qu'avant de changer le script pour l'image par défaut, l'image téléchargée et reconnue par ID s'affichait bien !
Voici le script si vous avez une idée :
<?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/'; 

// 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']) ) ? 'logo_cours_'.$data['ID'] : 'no_logo.gif' ; 
echo '" width="111" height="46" border="0"/>
</TD>
mumm :oops: :cry:

Posté : 14 avr. 2006, 13:46
par ouckileou
Pourrais-tu réexpliquer ce que tu souhaites faire, le but de ce script, préciser un peu ce que attends et où se situe le problème (où sont traitées les images)

Tout le monde n'a pas forcément suivi ton précédent problème ;)

Posté : 14 avr. 2006, 13:53
par Ryle
Si tu as le logo par défaut qui s'affiche à chaque fois, c'est très probablement parce que la condition de test pour savoir s'il y a un logo ou pas te retourne faux à chaque fois... ce serait peut être bien de commencer à regarder par là :)

Posté : 14 avr. 2006, 13:56
par alexdarcy
Oui. Eh bien, j'ai un repertoire de cours d'art dramatique avec toutes les infos nécéssaire avec un logo pour chaque cours, le tout téléchargé par formulaire. Les logos s'installent dans le dossier upload et s'affichent avec le cours par ID. Jusqu'ici c'est simple hein !
Maintenant des cours n'ont pas forcément de logo alors un logo par défaut s'affiche.
Le probleme est le suivant, le logo par défaut s'affiche partout et le logo téléchargé du cours ne s'affiche pas !
Je pense que le probleme vient de là :
// dossier image
$dossier_img = './upload/';
echo '<img src="'.$dossier_img; 
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID']) ) ? 'logo_cours_'.$data['ID'] : 'no_logo.gif' ; 
echo '" width="111" height="46" border="0"/>
... mais quel et ou est le probleme ?? je ne sais po :oops:

Posté : 14 avr. 2006, 13:57
par alexdarcy
Si tu as le logo par défaut qui s'affiche à chaque fois, c'est très probablement parce que la condition de test pour savoir s'il y a un logo ou pas te retourne faux à chaque fois... ce serait peut être bien de commencer à regarder par là :)
Oui Ryle ça doit être ça !!
mais comment regarder et ou ?
:oops: :roll:

Posté : 14 avr. 2006, 14:00
par ouckileou
Oui Ryle ça doit être ça !!
mais comment regarder et ou ?
:oops: :roll:
Je vais être désagréable, mais je trouve que tu poses beaucoup de question sans réfléchir...

Si tu as ce test :
if ($valeur ==1) {
   echo '1';
} else {
   echo 'différent de 1';
}
Tu t'attendais à voir 1, mais ce n'est pas 1 d'affiché...

Alors comment vérifier ?! Ben ça me parait simple, tu affiches $valeur...
echo $valeur;
C'est pareil pour tous les tests, des echo de vérification, encore et toujours

Et comme tu n'as pas souhaité prendre en compte mon message et résumer ton problème, je ne pourrais même pas t'indiquer où chercher car je ne sais pas où tu traites tes images et je n'ai pas envie de lire tout ton code en détail.

Posté : 14 avr. 2006, 14:13
par alexdarcy
Oui. Eh bien, j'ai un repertoire de cours d'art dramatique avec toutes les infos nécéssaire avec un logo pour chaque cours, le tout téléchargé par formulaire. Les logos s'installent dans le dossier upload et s'affichent avec le cours par ID. Jusqu'ici c'est simple hein !
Maintenant des cours n'ont pas forcément de logo alors un logo par défaut s'affiche.
Le probleme est le suivant, le logo par défaut s'affiche partout et le logo téléchargé du cours ne s'affiche pas !
Je pense que le probleme vient de là :
// dossier image
$dossier_img = './upload/';
echo '<img src="'.$dossier_img; 
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID']) ) ? 'logo_cours_'.$data['ID'] : 'no_logo.gif' ; 
echo '" width="111" height="46" border="0"/>
... mais quel et ou est le probleme ?? je ne sais po :oops:
eh bien si le probleme est résumé ci dessus ouckileou :cry:

Posté : 14 avr. 2006, 14:21
par ouckileou
Ok je te présente mes excuses je n'avais pas vu ton message, désolé
:merci:

Mais le reste est valable...
Comme a dit Ryle, si l'image par défaut s'affiche partout, c'est qu'il y a un problème
Soit tu ne récupères pas bien l'image enregistrée, soit il y a un problème au moment tu fais un test

Donc fais afficher toutes les valeurs utilisées, vérifie leur valeur, vérifie ton test...

Conseil : construit le chemin vers ton image d'article dans une variable à part, et insère la ensuite dans le file_exist() ;)
Tu devrais trouver l'erreur

Parceque pour quelqu'un qui ne semble pas encore tout à fait à l'aise avec le PHP et le développement, ce genre d'instructions où tout est mélangé et fait en même temps me parait bien compliqué :
echo '<img src="'.$dossier_img;
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID']) ) ? 'logo_cours_'.$data['ID'] : 'no_logo.gif' ;
echo '" width="111" height="46" border="0"/>

Posté : 14 avr. 2006, 14:41
par alexdarcy
oui ouckileou seulement hé je ne sais pas où introduire ceci :
if ($valeur ==1) { 
   echo '1'; 
} else { 
   echo 'différent de 1'; 
}
dans le script ... :oops: :oops: :oops: :oops:

Posté : 14 avr. 2006, 15:05
par ouckileou
oui ouckileou seulement hé je ne sais pas où introduire ceci :
if ($valeur ==1) { 
   echo '1'; 
} else { 
   echo 'différent de 1'; 
}
dans le script ... :oops: :oops: :oops: :oops:
Non mais attend ça c'était un exemple... ](*,)
Rien à voir avec ton script

T'as isolé le bout de code où manifestement y'a un problème :
echo '<img src="'.$dossier_img;
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID']) ) ? 'logo_cours_'.$data['ID'] : 'no_logo.gif' ;
echo '" width="111" height="46" border="0"/>
1 - Constatation : il ne m'affiche pas la bonne image
2 - Quand est-ce que cette image par défaut s'affiche ? quand il ne trouve pas l'autre
3 - Peut-être qu'il ne trouve pas l'autre alors ? Comment le savoir ?
======> Vérifions d'abord ce qu'il cherche !!!!
Conseil : construit le chemin vers ton image associée à l'article dans une variable à part, et insère la ensuite dans le file_exist()
C'est ça le débuggage, quand ça ne marche pas, pas à pas on reprend, on se dit "j'ai pas la bonne valeur, où est-ce que je crée cette valeur ? où est-ce que je la manipule ?" on met des echos de contrôle, petit à petit on cible l'endroit d'où peut venir l'erreur, on vérifie les tests et on finit par trouver....

Posté : 14 avr. 2006, 15:10
par alexdarcy
mais oui mais ça c'est fait :
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID']) ) ? 'logo_cours_'.$data['ID']
le chemin est bien $dossier_img = upload :
// dossier image
$dossier_img = './upload/'; 
et le nom de l'image est bien : logo_cours_ID

en fait l'image associée est dans le meme dossier que l'image d'office !

:cry:

Posté : 14 avr. 2006, 15:15
par ouckileou
Non ça n'est pas fait du tout

Là tu regardes ton code, les variables, mais pas les valeurs qui sont dedans.
Tout te semble bon mais tu ne sais pas ce qu'il manipule réellement.
echo '<img src="'.$dossier_img;
echo ( file_exists($dossier_img.'logo_cours_'.$data['ID']) ) ? 'logo_cours_'.$data['ID'] : 'no_logo.gif' ;
echo '" width="111" height="46" border="0"/>
Tu concatènes effectivement dossier et nom d'image, mais sais-tu réellement ce que tu obtiens et que tu passes à la fonction ?

Décompose ce bout de code comme je te l'ai suggéré, ce sera plus clair et ça te permettra de vérifier pas à pas tes valeurs, et de savoir si ça vient de là ou pas.

Posté : 14 avr. 2006, 15:25
par alexdarcy
ouh la :oops: je ne suis pas encore assez fort pour ça !
hum :cry:
la fonction est bien le ? qui commande et dit si l'un (le logo attaché) n'existe pas, l'autre (le logo d'office) prend sa place .. non ?

Posté : 14 avr. 2006, 15:28
par ouckileou
ouh la :oops: je ne suis pas encore assez fort pour ça !
hum :cry:
Pour ça quoi ? pour décomposer ?

Si tu as récupéré ce code qqpart et que tu ne le comprends pas, je t'invite à le changer par une forme plus simple :
$chemin_image = $dossier_img.'logo_cours_'.$data['ID'];

// vérification du chemin formé 
echo $chemin_image;

echo '<img src="';
if (file_exists($chemin_image))
	echo $chemin_image;
else
	echo 'no_logo.gif' ;

echo '" width="111" height="46" border="0"/>';

Posté : 14 avr. 2006, 15:39
par alexdarcy
oui.
maintenant ça affiche ceci sur la page ./upload/logo_cours_ à côté du logo en croix rouge !
normal ? c'est cela la vérif ?
:oops: