Rechercher : dans
Par :

[Langage ?] Script avec BD pour sondage

Dernière réponse le 25 fév 2009 à 09:55:08 MisterM&M's, le 24 fév 2009 à 10:16:49 
 Signaler ce message aux modérateurs

Bonjour,

j'ai récupéré un script de sondage avec base de données qui marche. Mais voilà, j'aimerais, dans un premier temps, qu' en cliquant sur mon bouton "vote", les résultats s'affichent à la place du formulaire de sondage.

Par la suite, j'aimerais mettre en place un système de cookies pour empêcher le double vote.


Si vous avez des idées, pour résoudre mes problèmes, je suis preneur à 100%, car là je cale.

Merci pour vos réponses.

Amicalement.



MisterM&M's.

Configuration: Windows Vista
Firefox 3.0.6

Meilleures réponses pour « [Langage ?] Script avec BD pour sondage » dans :
[IE] Erreur de script / Effectuer un débogage VoirDe temps en temps, lorsque vous naviguez sur le Net et que vous chargez une page Web, un message d'erreur de script survient : Une erreur est survenue. Une erreur est survenue sur le script de cette page. Souhaitez-vous effectuer un débogage...
[Programmation] Comment débuter, quel langage? VoirComment débuter, quel langage? Introduction Ceux que l'on peut utiliser Delphi/Pascal Java Python .Net Smalltalk Ceux que l'on peut utiliser à la rigueur C/C++ PHP Ada Lisp/Caml/... Ceux que l'on peut ne pas utiliser
Exécuter un script shell VoirExécution d'un script Pour pouvoir exécuter un script ou un programme en ligne de commande il y a plusieurs possibilités : 1. Le chemin absolu 2. Le chemin relatif 3. Modifier la variable PATH Note: Le Sha...
Javascript - Introduction au langage Javascript VoirQu'est-ce que le Javascript? Le Javascript est un langage de script incorporé dans un document HTML. Historiquement il s'agit même du premier langage de script pour le Web. Ce langage est un langage de programmation qui permet d'apporter des...
Introduction à PHP VoirQu'est-ce que PHP? PHP est un langage interprété (un langage de script) exécuté du côté serveur (comme les scripts CGI, ASP, ...) et non du côté client (un script écrit en Javascript ou une applet Java s'exécute sur votre ordinateur...). La...
Introduction à VBScript VoirPrésentation de VB Script VBScript (aussi appelé Visual Basic Scripting Edition) est un sous-ensemble du langage Visual Basic for Applications (VBA), un langage propriétaire de Microsoft prévu pour être intégré aux produits Microsoft Office©,...

1

MysticSquall, le 24 fév 2009 à 11:56:33

Euh..+ de détails

tu peut nous donner ton formulaire ?
Mystic Squall - Internet? C'est par ici...

Répondre à MysticSquall

2

MisterM&M's, le 24 fév 2009 à 13:03:01

Salut,

Pas de problème.
Voici ma page "index_sondage.php", qui construit le sondage, avec le formulaire!!
et voici ma page "sondage_resultats.php" qui donne les résultats.

<-- index_sondage.php -->
<?php
// on se connecte à notre base de données
$base = mysql_connect ('localhost','root','');
mysql_select_db ('sondage',$base);

// on prépare une requête pour sélectionner l'id et la question du dernier sondage (on sélectionne les questions, et on en prend qu'une (le LIMIT 0,1) et ce, dans un ordre décroissent (DESC), soit en fait, la dernière question posée).
$sql = 'SELECT id, question FROM sondage_questions ORDER BY id DESC LIMIT 0,1';

// on lance la requête
$req = mysql_query ($sql) or die ('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on récupère le résultat dans un tableau associatif
$data = mysql_fetch_array ($req);

$nb_sondage = mysql_num_rows($req);

if ($nb_sondage == 0) {
echo 'Aucun sondage.';
}
else {
// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);

// on affiche la question
echo stripslashes(htmlentities(trim($data['question']))),'<br />';//utilisation de la fonction htmlentities(), qui sert à convertir des caractères speciaux. Pour la comptatibilité avec un max de navigateurs.

// on prepare l'affichage de notre formulaire permettant de voter
echo '<form action = "accueil-reno.php" method = "post">';

// on prépare une requête permettant de sélectionner les réponses possibles se rapportant à ce même sondage
$sql = 'SELECT id, reponse FROM sondage_reponses WHERE id_sondage="'.$data['id'].'"';

// on lance la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on prépare notre boucle pour afficher les différents choix possibles de réponses
while ($donnees = mysql_fetch_array($req)) {
// on affiche des boutons radio pour les différents choix de réponses possibles
echo '<input type="radio" name="choix" value="',$donnees['id'] ,'">',stripslashes(htmlentities(trim($donnees['reponse']))),'<br />';
}
}
?>
<input type = "hidden" name = "sondage_en_cours" value = "<?php echo $data['id']; ?>">
<input type = "submit" name="go" value = "Vote">
</form>

<?php
// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);

// on ferme la connection à notre base de données
mysql_close ();
?>

< -- sondage_resultats.php -->

<?php
// on se connecte à notre base de données
$base = mysql_connect ('localhost','root','');
mysql_select_db ('sondage',$base);

// on selectionne la question et l'id du sondage en cours
$sql = 'SELECT id, question FROM sondage_questions ORDER BY id DESC LIMIT 0,1';

// on lance la requête
$req = mysql_query ($sql) or die ('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on récupère le résultat dans un tableau associatif
$data = mysql_fetch_array ($req);

// on libère l'espace mémoire alloué à cette requête
$nb_sondage = mysql_num_rows($req);
mysql_free_result ($req);

if ($nb_sondage == 0) {
echo 'Aucun sondage.';
}
else {
// on affiche la question
echo stripslashes(htmlentities(trim($data['question']))),'<br />';

// on déclare un tableau qui contiendra les réponses de notre sondage
$tableau_reponses = array();

// on déclare un tableau qui contiendra le nombre de réponse à chaque question
$tableau_nb_reponses = array();

// on selectionne les reponses de ce sondage
$sql = 'SELECT reponse, nb_reponse FROM sondage_reponses WHERE id_sondage="'.$data['id'].'"';

// on lance la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on prépare notre boucle pour récupérer les différents choix possibles de réponses
while ($data = mysql_fetch_array($req)) {
// on place ces valeurs dans nos deux tableaux
$tableau_reponses[] = $data['reponse'];
$tableau_nb_reponses[] = $data['nb_reponse'];
}

// on libère l'espace mémoire alloué à cette requête
mysql_free_result ($req);

// on ferme la connection à notre base de données
mysql_close ();

// on compte le nombre de réponses possible de notre sondage
$nb_reponses_du_sondage = count ($tableau_reponses);

// on compte le nombre total de réponses pour ce sondage
$nb_total_reponse = array_sum ($tableau_nb_reponses);

// on teste le nombre de vote
if ($nb_total_reponse == 0) {
// cas où personne n'a voté
echo 'Aucun vote pour l\'instant\'';
}
else {
// cas où quelqu'un a déjà voté
for ($i = 0; $i < $nb_reponses_du_sondage; $i++) {
// on affiche une réponse
echo $tableau_reponses[$i];
// on calcul le pourcentage de cette réponse
$pourcentage = ($tableau_nb_reponses[$i] * 100) / $nb_total_reponse;
// on arrondi ce calcul à un chiffre après la virgule
$pourcentage = round ($pourcentage, 1);
// on affiche le pourcentage
echo ' ' , $pourcentage, '%<br />';
}
// on affiche le nombre total de votes
echo '<br /><br />Nombre de votes : ', $nb_total_reponse,'<br>';
echo 'Merci d\'avoir voté :)';
}
}

?>

Voila, merci encore pour votre aide!!

Répondre à MisterM&M's

3

MysticSquall, le 24 fév 2009 à 17:41:41

http://www.creer-un-site-internet.com/formulaire-contact.php­
Ici, tu as tout pour comprendre le fonctionnement d'un formulaire.

Après, sur ta même page, tu fait un isset sur une des variable que tu auras faite passée en POST ou en GET, et tu commence les mise a jour de ta base de données

Mystic Squall - Internet? C'est par ici...

Répondre à MysticSquall

4

 MisterM&M's, le 25 fév 2009 à 09:55:08

Salut,

Merci pour ta réponse!!

A+

Répondre à MisterM&M's