[Langage ?] Script avec BD pour sondage
Fermé
MisterM&M's
Messages postés
69
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2018
-
24 févr. 2009 à 10:16
graphh Messages postés 37 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 juillet 2011 - 6 janv. 2011 à 10:25
graphh Messages postés 37 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 juillet 2011 - 6 janv. 2011 à 10:25
A voir également:
- [Langage ?] Script avec BD pour sondage
- Sondage facebook - Guide
- Script vidéo youtube - Guide
- Langage ascii - Guide
- Framadate sondage - Guide
- Télécharger bd pdf gratuit sans inscription - Forum PDF
5 réponses
MysticSquall
Messages postés
401
Date d'inscription
lundi 4 juillet 2005
Statut
Membre
Dernière intervention
7 octobre 2011
27
24 févr. 2009 à 11:56
24 févr. 2009 à 11:56
euh..+ de détails
tu peut nous donner ton formulaire ?
tu peut nous donner ton formulaire ?
MisterM&M's
Messages postés
69
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2018
2
24 févr. 2009 à 13:03
24 févr. 2009 à 13:03
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!!
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!!
MysticSquall
Messages postés
401
Date d'inscription
lundi 4 juillet 2005
Statut
Membre
Dernière intervention
7 octobre 2011
27
24 févr. 2009 à 17:41
24 févr. 2009 à 17: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
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
MisterM&M's
Messages postés
69
Date d'inscription
lundi 19 janvier 2009
Statut
Membre
Dernière intervention
20 février 2018
2
25 févr. 2009 à 09:55
25 févr. 2009 à 09:55
Salut,
Merci pour ta réponse!!
A+
Merci pour ta réponse!!
A+
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
graphh
Messages postés
37
Date d'inscription
mercredi 18 février 2009
Statut
Membre
Dernière intervention
23 juillet 2011
1
6 janv. 2011 à 10:25
6 janv. 2011 à 10:25
Bonjour, je profite de ce sujet (même si il date) pour poser une question sur ce même script, mais qui pourtant ne fonctionne pas chez moi. Voici le bout de code qui pose, a priori, problème:
Dans mon explorer, il m'indique une erreure ici:
Je suis un peu perdu, les tables sont correctes (niveau noms etc), et le log de à la DB également...
Si quelqu'un a une idée...
Et par la même occasion, si quelqu'un a un autre moyen simple et efficace pour intégrer un système de vote dans un site internet autre que le code présenté ci-dessus, je suis preneur (ou même un tutoriel qui explique les étapes de la création, et non une solution finie...)
en vous remerciant!
// 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);
Dans mon explorer, il m'indique une erreure ici:
$data = mysql_fetch_array($req);
Je suis un peu perdu, les tables sont correctes (niveau noms etc), et le log de à la DB également...
Si quelqu'un a une idée...
Et par la même occasion, si quelqu'un a un autre moyen simple et efficace pour intégrer un système de vote dans un site internet autre que le code présenté ci-dessus, je suis preneur (ou même un tutoriel qui explique les étapes de la création, et non une solution finie...)
en vous remerciant!