[RESOLU] Afficher une image en fonction d'une valeur en BDD

Petit nouveau ! | 6 Messages

08 févr. 2016, 13:28

Bonjour,
Je sèche sur un script depuis un bon moment, je ne trouve pas mon erreur.

J'aimerais simplement récupérer une valeur dans le champ d'une table ...
Et selon la valeur récupérée, afficher une image...

Si valeur est inférieure à 12, afficher 1111.jpg
Si valeur est supérieure à 12, afficher 2222.jpg

CONNEXION..... puis

<?php
$reponse = mysql_query("SELECT CHAMP FROM MATABLE WHERE id='".$id."'";
$donnees = mysql_fetch_array($reponse);

$niveau = $donnees;

{if ($niveau <= 12)
{
echo "<img src=\"1111.jpg\" />" ;
}
else if ($niveau => 12)
{
echo "<img src=\"2222.jpg\" />" ;
}
?>

Vous aurez compris aisément que je ne suis pas fortiche..
D'autre part, juste une ERREUR 500 avec mon navigateur...
Par avance merci pour votre aide !

Nicolas

Eléphant du PHP | 243 Messages

08 févr. 2016, 13:35

Bonjour,

Première erreur à vue d'œil : $reponse = mysql_query("SELECT CHAMP FROM MATABLE WHERE id='".$id."'";
Tu as oublié de fermer la parenthèse. --> $reponse = mysql_query("SELECT CHAMP FROM MATABLE WHERE id='".$id."'");

EDIT : Tu as aussi mis une accolade inutile devant le premier if
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Petit nouveau ! | 6 Messages

08 févr. 2016, 13:44

Effectivement, j'ai appliqué ces deux corrections..; Mais toujours une page d'erreur 500...
Arfff...
Merci pour votre aide en tout cas, sympa !

Eléphant du PHP | 243 Messages

08 févr. 2016, 13:47

Ton code semble mal tourné.
Commence par régler ton erreur 500 en vérifiant tes logs : faq-tutoriels/page-blanche-script-php-c ... 73178.html

edit: Y'a il me semble un soucis avec ton echo : echo "<img src=\"1111.jpg\" />" ;
Ça serait pas plutôt : echo "<img src='1111.jpg' />" ;
Et tu peux aussi rajouter un petit alt="1111" histoire d'être en règle avec le validator W3C :wink:
"Nos études ont montré que la probabilité qu’un programme corrigé fonctionne comme avant la correction est seulement de cinquante pour cent"
~~Lorenzo Strigini

Petit nouveau ! | 6 Messages

08 févr. 2016, 13:50

Helas, je n'ai pas accès au php.ini.
Et j'ai bien logé error_reporting(E_ALL); en haut de page, mais l'erreur ne s'affiche pas...

C'est a se taper la tête contre les murs :)
Modifié en dernier par perrier le 08 févr. 2016, 13:57, modifié 1 fois.

Mammouth du PHP | 688 Messages

08 févr. 2016, 13:53

$niveau = $donnees['champ'];

Petit nouveau ! | 6 Messages

08 févr. 2016, 13:59

RIen a faire... Je met le code réel...

<?php
$reponse = mysql_query("SELECT dpe_energy FROM rdmbf_jea_propertie WHERE id='".$id."'");
$donnees = mysql_fetch_array($reponse);

$niveau = $donnees['dpe_energy'];

if ($niveau <= 12)
{
echo "<img src='dpe.jpg' />" ;
}
else if ($niveau => 12)
{
echo "<img src='dpe1.jpg' />" ;
}
?>

Petit nouveau ! | 6 Messages

08 févr. 2016, 16:41

Voila code définitif qui ne fonctionne toujours pas... La je perd un peu le fil...
C'est un code méga simple en définitive et j'ai tout contrôlé.... Les champs, la base, la capacité du serveur a l'interpréter...
J'y ai passé la journée....
Si vous aviez une idée ou me dire ou ma syntaxe est incorrecte...
Par avance merci

<?
include("_conn.php");
$id= $_GET['id'];

$reponse = mysql_query("SELECT dpe_energy FROM rdmbf_jea_properties WHERE id='".$id."'");
$donnees = mysql_fetch_array($reponse);

$niveau = $donnees['dpe_energy'];

if ($niveau <= 12)
{
echo "<img src='dpe.jpg' />" ;
}
else if ($niveau => 12)
{
echo "<img src='dpe1.jpg' />" ;
}
?>

Mammouth du PHP | 1967 Messages

08 févr. 2016, 17:58

repas de zero pour être sur que ton erreur 500 vient bien de ce script et pas d'ailleurs

remplace tout le code par un code encore plus simple
<?php
echo "hello wolrd";
?>

Si tu as toujours une erreur 500, vérifie si tu n'a pas un htaccess qui est mal fichu par exemple.
Repars d'un serveur le plus propre possible (le moins de fichier) et ajoute les 1 par 1 pour voir qui crée cette erreur 500

Pour rappel, une 500 c'est une erreur interne du serveur, cela peut provenir d'autre chose que ton script php
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Mammouth du PHP | 2703 Messages

08 févr. 2016, 17:59

$reponse = mysql_query("SELECT dpe_energy FROM rdmbf_jea_properties WHERE id=\'".$id."\'");

Petit nouveau ! | 6 Messages

08 févr. 2016, 18:13

J'ai trouvé d'ou venait l'erreur.... ELSEIF et pas ELSE IF

Le code corrigé

<?
include("_conn.php");
$id= $_GET['id'];

$reponse = mysql_query("SELECT dpe_energy FROM rdmbf_jea_properties WHERE id='".$id."'");
$donnees = mysql_fetch_array($reponse);

$niveau = $donnees['dpe_energy'];

if($niveau <= 50)
echo "<img src='AA.jpg' />" ;

elseif($niveau > 50 && $niveau < 91)
echo "<img src='AB.jpg' />" ;

elseif($niveau > 90 && $niveau < 151)
echo "<img src='AC.jpg' />" ;

elseif($niveau > 150 && $niveau < 231)
echo "<img src='AD.jpg' />" ;

elseif($niveau > 230 && $niveau < 331)
echo "<img src='AE.jpg' />" ;

elseif($niveau > 330 && $niveau < 451)
echo "<img src='AF.jpg' />" ;

elseif($niveau > 450 )
echo "<img src='AG.jpg' />" ;

?>

Merci pour votre aide... Cela m'a bien fait avancer !!!

Bonne soirée !