Page 1 sur 1

Affichier une varriable sur une image

Posté : 02 juil. 2009, 21:17
par SinBert
Bonjour à toute et à tous !

Après lecture de beaucoup de tutos, je me suis aperçu qu'aucun ne traitait mon problème.
C'est pourquoi je me retourne côté forum :)

Comme le dit le titre, j'aimerai générer une image où est présent une chaine de caractères qui est en fait une variable.

J'expose :
-je me connecte à ma base de donnée
-je récupère ma variable
-je créer l'image avec la variable dessus
-j'affiche l'image

Il est évident que j'ai fait quelques essais avant de poster sur le forum. Voici le dernier que j'ai fait (sûrement faux :roll: ) :
<?php
header ("Content-type: image/jpg");

$ign = $_POST['ign'];

$connect = mysql_connect ( '', '', '' ) or die("Erreur de connexion au serveur");

mysql_select_db('', $connect) or die("Erreur de connexion à la base");

$donnee = mysql_query("SELECT * FROM dragotaka_ranking WHERE ign='$ign'");



$image = imagecreate(200,50);



$orange = imagecolorallocate($image, 255, 128, 0); 

$noir = imagecolorallocate($image, 0, 0, 0);


imagestring($image, 4, 35, 15, "donnee['ign']", $noir);
imagecolortransparent($image, $orange);

imagejpg($image);
?>
Sachant qu'il n'y a aucune erreur au niveau de mes identifiants de base, que ma librairie GD est activée correctement et que php ne me génère aucune erreurs, voici ce que je reçois :
Image

PS : je suis parfait débutant niveau génération d'image en PHP, donc ne vous étonné pas si il persiste de simples erreurs dans mon code.

Posté : 02 juil. 2009, 23:37
par AB
Tu exécute ta requête mais tu ne récupère pas de variable... Il faudrait utiliser mysql_fetch_assoc() ou équivalent pour le faire.

Posté : 04 juil. 2009, 18:58
par SinBert
Salut!

J'ai essayer deux trois trucs, j'ai fait ce que tu m'as dit : sans résultats encore une fois.
J'ai corrigé toutes les erreurs que PHP me générait, mais il me retourne toujours la même image que la dernière fois.

Voici ce qu'est devenu mon code :
<?php
header ("Content-type: image/jpg");

$ign = $_GET['ign'];

mysql_real_escape_string($ign);

$connect = mysql_connect ( '', '', '' ) or die("Erreur de connexion au serveur");

mysql_select_db('', $connect) or die("Erreur de connexion à la base");

$donnee = mysql_query("SELECT * FROM dragotaka_ranking WHERE ign='$ign'");

if (mysql_num_rows($donnee) == 0) {
   echo "Aucune ligne trouvée, rien à afficher.";
}

else{
while ($row = mysql_fetch_assoc($donnee)) {

$image = imagecreate(200,50);



$orange = imagecolorallocate($image, 255, 128, 0); 
$
$blanc = imagecolorallocate($image, 255, 255, 255);

imagestring($image, 4, 35, 15, "donnee['ign']", $noir);
imagecolortransparent($image, $orange);

imagejpg($image);

mysql_free_result($donnee);

}
}
?>
PS : J'ai changé le POST en GET, mais la source de l'erreur n'est pas là ;)

Posté : 07 juil. 2009, 19:12
par dunbar
Salut,
Je pense que cette ligne pose problème.
$image, 4, 35, 15, "donnee['ign']", $noir
tu a oublier le $ pour la variable donnee['ign'] , de plus la variable devrais être $row et pas $donnee

Proposition:
$image, 4, 35, 15, $row['ign'], $noir
:wink: