Afficher question dès que Compte à R terminé.

Résolu/Fermé
shoub-tcy Messages postés 169 Date d'inscription mardi 6 mars 2012 Statut Membre Dernière intervention 23 mai 2012 - 25 mars 2012 à 18:45
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 - 26 mars 2012 à 15:13
Bonjour,

J'ai créé un compte à rebours en Javascript, et un quiz en Php et mysql. Je voudrais que dès que le compte à rebours soit terminé il affiche ma première question, mais je ne sais pas du tout comment m'y prendre voici le script de mon compte à rebours et le code qui àmmène mes questions depuis ma base de donnée :

<p>Votre quiz commencera dans :</p>
<p>
<body onload="compte_a_rebour()">
<div id="CompteARebours"></div>
<script>
function compte_a_rebour(){
var CompteARebours = document.getElementById("CompteARebours");
var date_actuelle = new Date();
var date_evenement = new Date("Mar 25 17:45:00 2012");
var secondes = (date_evenement - date_actuelle) / 1000;
if(secondes > 0){
DiffJour = Math.floor (secondes / 86400);
DiffHeure = Math.floor ((secondes - (DiffJour * 86400)) / 3600);
DiffMin = Math.floor ((secondes - ((DiffJour * 86400 + DiffHeure * 3600))) / 60);
DiffSec = Math.floor (secondes - ((DiffJour * 86400 + DiffHeure * 3600 + DiffMin * 60)));
var Et = "et";
if(DiffJour == 0){
DiffJour = '';
Jour = '';
} else {
Jour = (DiffJour == 1) ? "jour," : "jours,";
}
if(DiffHeure == 0){
DiffHeure = '';
Heure = '';
} else {
Heure = (DiffHeure == 1) ? "heure," : "heures,";
}
if(DiffMin == 0){
DiffMin = '';
Minute = '';
} else {
Minute = (DiffMin == 1) ? "minute" : "minutes";
}
if(DiffSec == 0){
DiffSec = '';
Seconde = '';
Et = '';
} else {
Seconde = (DiffSec == 1) ? "seconde" : "secondes";
Et = (DiffMin == 0 && DiffHeure == 0 && DiffJour == 0) ? "" : "et";
}
CompteARebours.innerHTML = DiffJour + ' ' + Jour + ' ' + DiffHeure + ' ' + Heure + ' ' + DiffMin + ' ' + Minute + ' ' + Et + ' ' + DiffSec + ' ' + Seconde;
} else {
CompteARebours.innerHTML = 'C\'est parti pour le quiz !!';

}
Time_ReLance = setTimeout("compte_a_rebour();", 1000);
}
</script>


Voici mon code php mysql:

<form method="post" action="traitement_questions.php">

<?php
// Php pour première question et réponses au hasard.
try
{
$pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
$bdd = new PDO('mysql:host=localhost;dbname=quiz', 'root', '', $pdo_options);
$reponse = $bdd->query("SELECT questions, reponses_j, reponses_f FROM geo_1 ORDER BY RAND() LIMIT 1");

while ($donnees = $reponse->fetch())
{
echo '<p id="este">Question 1:</p><p id="question1">' . $donnees['questions'] . '</p>'
. '<p><label id="reponse_q_1"><input type="radio" name="check" value="'. $donnees['reponses_j'] .'">'. $donnees['reponses_j'] .'</label>'
. ' <label id="reponse_q_1"><input type="radio" name="check" value="'. $donnees['reponses_f'] .'">'. $donnees['reponses_f'] .'</label></p>';

}


$reponse->closeCursor();
}
catch(Exception $e)
{
die('Erreur : '.$e->getMessage());
}
?>
<p><input type="submit" value="Entrée" /><p>


Cordialement
A voir également:

1 réponse

AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
26 mars 2012 à 11:11
Bonjour,
Moi je penserais à faire un truc dans le genre :

Dans le code php, tu marques toutes tes questions, dans div différentes mais avec des id faciles à reproduire. Et tu caches toutes ces div. Par exemple :
<div id="question1" style="display:none">
  Question 1 blabla
</div>
<div id="question2" style="display:none">
  Question 2 blabla
</div>


En javascript, tu créées un compteur de question $nb_question = 1;
A la fin de ton compteur, tu récupères l'id qui correspond à la div de ta question et tu changes sa visibilité. Et hop, elle va apparaître. On n'oublie pas d'incrémenter son compteur ;)
document.getElementById("question"+$nb_question).style.display = "block";
$nb_question++;
1
shoub-tcy Messages postés 169 Date d'inscription mardi 6 mars 2012 Statut Membre Dernière intervention 23 mai 2012 2
26 mars 2012 à 15:06
Encore merci d'avoir répondue sur cet autre sujet AssassinTourist !
C'est nickel !! ça marche super bien !! Merci infiniment pour ton aide :)

Peut-être à bientot pour un autre problème ;)
0
AssassinTourist Messages postés 5709 Date d'inscription lundi 16 janvier 2012 Statut Contributeur Dernière intervention 29 février 2024 1 310
26 mars 2012 à 15:13
Cool =)
(mais j'espère que tu n'auras pas d'autres problèmes quand même !)
0