[HELP]image dynamique

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [HELP]image dynamique

Re: [HELP]image dynamique

par moogli » 02 janv. 2012, 16:16

ma réponse est donc bonne :d

(pour info le tag php est <?php, le <? n'est pas accepté partout car ce n'est pas la conf par défaut de php).


@+

Re: [HELP]image dynamique

par spooky33 » 02 janv. 2012, 15:46

quand je dis hearder, je parle biensur de la fonction header

Code : Tout sélectionner

<? header("Content-type: image/gif");

Re: [HELP]image dynamique

par moogli » 02 janv. 2012, 15:37

avant le header ? la fonction php header ? non ! (voir la doc de la fonction).

si ce n'est pas ça faudrais être plus clair :mrgreen:


@+

Re: [HELP]image dynamique

par spooky33 » 02 janv. 2012, 14:55

Est ce qu'il est possible de mettre aussi du code javascript avant (ou après) le header ???

J'ai beau essayer, je ne réussi pas

Re: [HELP]image dynamique

par spooky33 » 21 sept. 2011, 18:59

effectivement le problème est résolu, et j'ai compris la logique grâce aux dernières recommandations;)

un grand merci à moogli;)

le seul truc, c'est que l'image ne se dimensionne plus automatiquement...mais je vais chercher;)

Re: [HELP]image dynamique

par spooky33 » 20 sept. 2011, 23:26

ok merci pour vos avis, je tente ca demain...

@moogli:c'est ce que j'essai de faire en général: retracer la chronologie des requêtes....mais quand on débute, ce n'est pas si clair que ca car les erreurs de code,de focntions, de logique etc... font que je suis débutant, et non expert ;)

Re: [HELP]image dynamique

par moogli » 20 sept. 2011, 23:00

déplace la création de l'image avant le while et l'écriture (imagestring) dans la boucle while (à la fin)
ensuite le imagegif après le while

pense à gérer le saut de ligne et le fait de na pas dépasser de la taille de l'image :)

ceci c'est le cas où tu ne souhaite bien qu'une seule image ?

@+

Re: [HELP]image dynamique

par Cyrano » 20 sept. 2011, 22:50

Gros malin, si tu mets la création de l'image dans la boucle, il se passe quoi à ton avis ? S'il y a plusieurs tours de boucle, il y aura autant de création d'images.

Donc, la logique ne te laisse plus qu'une seule solution ...:-*

Pour t'aider dans ta réflexion, médite un peu ceci : ton code s'exécute de façon chronologique. En lisant ton code, imagine que tu en suis l'exécution et à chaque ligne, pose toi la question de ce qui se passe. Essaye de garder un peu tout ça en mémoire et au ligne suivantes, demande toi si ça peut rentrer en conflit avec une exécution précédente.

Re: [HELP]image dynamique

par spooky33 » 20 sept. 2011, 20:17

je comprends ta remarque mais j'ai tenté de mettre les variables et la création d'image dans la boucle aussi...dans ce cas là, une seule ligne s'affiche, mais cette fois ci, la première ligne de ma base de données (l'ancien code donnait la dernière ligne de la base de données)

aussi mon image ne se dimensionne plus en fonction du nombre de résultats a afficher

une idée du code???
je suis perdu :(

Re: [HELP]image dynamique

par Cyrano » 20 sept. 2011, 07:22

Normal : tu crées un certain nombre de tes variables après la boucle, dont l'image elle-même et les couleurs. La seule ligne qui fonctionne est l'avant-dernière du code que tu nous montres et normalement, toutes celles qui sont dans la boucle devraient générer des erreurs.

[HELP]image dynamique

par spooky33 » 19 sept. 2011, 22:45

Bonsoir tout le monde

je galère depuis quelques jours pour créer une image dynamique dont voici les conditions:

-l'image doit se dimensionner en hauteur en fonction du nombre de résultats
-l'image est constituée d'un fond coloré, avec superposition de textes issus d'une base de données mysql
-le nombre de lignes (texte) dépend du nombre de lignes présents dans la base de données et doit afficher plusieurs entrées

voici le code actuel:

Code : Tout sélectionner

<? header("Content-type: image/gif"); $host="XXXX"; $user="XXXX"; $pass="XXXX"; $bdd="XXXX"; mysql_connect($host,$user,$pass); mysql_select_db($bdd); $query="SELECT name,att,def,fv FROM stats"; $result=mysql_query($query); $Height=15; $LineY=0; $LineX=0; $ChartFont = 2; $ChartFontHeight = 0; $ChartFontWidth = 0; $count = mysql_num_rows($query); while($row=mysql_fetch_row($result)) { $name=$row[0]; $att=$row[1]; $def=$row[2]; $fv=$row[3]; $Height=$Height+15; $LineY=$LineY+15; imagestring($image, $ChartFont, $LineX+5+$ChartFontHeight+31*$ChartFontWidth, $LineY, "$name | $att | $def | $fv ", $colorText); } mysql_close(); $image = imagecreate(400, $Height); $colorBody = imagecolorallocate($image,0xEF,0xF2,0xFB); $colorBorder = imagecolorallocate($image,0x00,0x00,0x00); $colorText = imagecolorallocate($image,0x00,0x00,0x00); imagefill($image,0,0,$colorBody); imagestring($image, $ChartFont, $LineX+5+$ChartFontHeight+31*$ChartFontWidth, $LineY, "$name | $att | $def | $fv", $colorText); imagegif($image); ?>

actuellement cela fonctionne, MAIS seule la dernière ligne de ma base de données s'affiche :( les autres lignes restent vides...

je ne trouve pas de solutions pour ca...

merci pour votre aide;)