sondage

Eléphant du PHP | 131 Messages

27 mai 2006, 14:09

Salut à tous,

j'ai trouvé un script pour la réalisation d'un sondage sur mon site. J'aimerai modifié l'affichage des résultats en graphique. pouvez vous m'aider. voici le script resultat.php

Code : Tout sélectionner

<? // insertion du fichier de configuration require"config.php"; // connection et selection de la base $connect=mysql_connect($host,$login,$pass) or die ("Connection impossible"); mysql_select_db($base,$connect) or die ("selection impossible"); // affichage du titre du sondage echo"<font size='".$size."' color='".$color."'>"; echo"<center><b>Résultat du sondage:</b> ".$titre_sondage."</font><br><br>"; // selection et affichage des résultats $query=mysql_query("SELECT * FROM $table ORDER BY vote DESC"); echo"<div align='center'>"; echo"<table border='0'>"; // récupération des résultats dans la base while($tab=mysql_fetch_array($query,MYSQL_ASSOC)){ if($tab['total_vote'] > 0){ // utilsation de la fonction round() pour arrondir les résultats $result = round((100/$tab['total_vote'])*$tab['vote']); }else{ $result=0; } echo"<tr><td><font size='".$size."' color='".$color."'>".$tab['choix'].":</font></td>"; echo"<td> <font size='".$size."' color='".$color1."'>".$result."%</font></td>"; echo"<td><font size='".$size."' color='".$color1."'>"; echo"(".$tab['vote']." vote(s) sur ".$tab['total_vote'].")</font></td><tr>"; } echo"</table>"; echo"</div>"; // fermeture de connection à la base mysql_close(); ?>

Eléphant du PHP | 131 Messages

27 mai 2006, 16:41

Je ne sais pas si je dois mettre sur le forum tous les fichiers config.php, sondage.php, vote.php et resulat.php . Dites moi ce qu'il faut faire

Eléphant du PHP | 493 Messages

27 mai 2006, 17:38

Il te suffit de modifier les lignes en gras.
<?

// insertion du fichier de configuration

require"config.php";

// connection et selection de la base

$connect=mysql_connect($host,$login,$pass) or die ("Connection impossible");

mysql_select_db($base,$connect) or die ("selection impossible");

// affichage du titre du sondage

echo"<font size='".$size."' color='".$color."'>";

echo"<center><b>Résultat du sondage:</b> ".$titre_sondage."</font><br><br>";


// selection et affichage des résultats

$query=mysql_query("SELECT * FROM $table ORDER BY vote DESC");

echo"<div align='center'>";

echo"<table border='0'>";


// récupération des résultats dans la base

while($tab=mysql_fetch_array($query,MYSQL_ASSOC)){

if($tab['total_vote'] > 0){

// utilsation de la fonction round() pour arrondir les résultats

$result = round((100/$tab['total_vote'])*$tab['vote']);

}else{

$result=0;

}

echo"<tr><td><font size='".$size."' color='".$color."'>".$tab['choix'].":</font></td>";

echo"<td> <font size='".$size."' color='".$color1."'>".$result."%</font></td>";

echo"<td><font size='".$size."' color='".$color1."'>";

echo"(".$tab['vote']." vote(s) sur ".$tab['total_vote'].")</font></td><tr>";


}

echo"</table>";

echo"</div>";


// fermeture de connection à la base

mysql_close();

?>

Eléphant du PHP | 131 Messages

27 mai 2006, 18:54

Je ne vois pas franchement comment modifier la partie en gras pour obtenir le résultat escompté

Eléphant du PHP | 493 Messages

27 mai 2006, 18:57

En refesant une mise en page basée avec des <img width=" ... " />

Eléphant du PHP | 131 Messages

27 mai 2006, 19:35

je viens de créer un trait nommé sondage.gif

où puis-je mettre cette partie
< img src = " sondage.gif " alt = " " width = "13" height = "13" align ="">

je pense que c'est ce que je dois faire

Eléphant du PHP | 131 Messages

29 mai 2006, 10:37

SOS

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 mai 2006, 10:50

Ben tout dépend de l'endroit où tu veux la faire apparaitre... si tu veux l'afficher par exemple à gauche des pourcentage, tu peux modifier la ligne suivante :
echo"<td> <font size='".$size."' color='".$color1."'>".$result."%</font></td>"; 
par
echo '<td>';
echo '<img src="sondage.gif" alt=" " width="'.($result).'" height="13" align="">'; 
echo '<font size="'.$size.'" color="'.$color1.'">'.$result.'%</font>';
echo '</td>'; 
Tu peux remplacer le "($result)" par "($result*2)" ou "($result*3)", ... pour avoir une barre un peu plus longue :)

Eléphant du PHP | 131 Messages

29 mai 2006, 11:41

Merci beaucoup cela marche.