Je voudrais créer une barre dynamique qui évolue en fonction du pourcentage trouvée dans la page result.php.
J'ai donc deux fichiers : result.php et image.php (dessine la barre)...
D'après ce que j'ai trouvé sur php.net, il est possible de faire ça :
<?php
header("Content-type: image/png");
$im = @imagecreate(128, 16) or die("Cannot Initialize new GD image stream");
$bc = imagecolorallocate($im, 0, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 1, 4, 4, $t, $tc);
imagepng($im);
imagedestroy($im);
?>
en Gros on dessine un rectangle ou la valeur $t du texte est inconnue.Lorsqu'on appelle l'image, on peut alors attribuer une valeur à $t de la façon suivante :
<img src="http://www.yourdomain.com/stuff/cool_image.php?t=Text">
cela affichera un rectangle bleu avec comme texte "Text"
J'essaie de faire de même mais cela ne marche pas avec mon script.
image.php
<?php
header("Content-type: image/png");
$im = @imagecreate(128, 16) or die("Cannot Initialize new GD image stream");
$bc = imagecolorallocate($im, 0, 255, 255);
$tc = imagecolorallocate($im, 0, 0, 0);
imagestring($im, 1, 4, 4, $t, $tc);
imagepng($im);
imagedestroy($im);
?>
result.php
<?php
include( "mysql.inc.php" );
$requete = "SELECT *, MATCH (fr) AGAINST ('pluie') AS score ".
"FROM japfr ".
"WHERE MATCH (fr) AGAINST('pluie' IN BOOLEAN MODE) ".
"ORDER BY score DESC";
$execution = mysql_query( $requete, $connection );
$total = mysql_num_rows( $execution ) ;
if ($total != 0)
{
$i = 0;
while( $un_mot = mysql_fetch_array( $execution ) )
{
$valeur = round ($un_mot["score"],2);
/* Si on est au premier tour, on calcule le coefficient, sinon on reconduit celui déterminé au premier tour. */
$coeff = ($i == 0) ? round(100/$valeur) : $coeff;
/* On calcule le pourcentage correpondant à la valeur sauf au premier tour où la plus grande valeur est obligatoirement 100 */
$pourcent = ($i == 0) ? 100 : $valeur * $coeff;
// c'est dans cet echo que le problème se trouve
echo "<img src=\"modules/dico/image.php?t=hello\">". $pourcent ."% ". $un_mot["fr"] ." ". $un_mot["jap"]."<br/>";
$i++;
}
}
else
{
echo "pas de traduction";
}
?>
L'image ne s'affiche pas... cela devrait afficher l'image avec pour text "hello"... Je ne comprends pas pourquoi...Merci d'avance à ceux qui pourront m'aider!