Bonjour,
Je suis actuellement sur un affichage de question en fonction d'un id précis.
Ce que je fais
Voici ce que j'affiche dans la vue.
<div class="type-question">
<p class="question">
<?php
//echo $_SESSION['questions'];
if (!empty($_GET['id'])) {
displayQuestions($_GET['id']);
} else {
$_GET['id']++;
if (!empty($_GET['id'])) {
displayQuestions($_GET['id']);
}else {
displayQuestions();
}
}
?>
</p>
</div>
et voici le model
function displayQuestions($idQuestion = 1) {
$query = 'SELECT id,question FROM sondage_questions WHERE id= :id ';
$resultat = db()->prepare($query);
$resultat->bindValue('id',$idQuestion,PDO::PARAM_INT);
$data = $resultat->execute();
// On retourne le nombre de ligne d'un résultat
$nb_sondage = $resultat->rowCount();
if ($nb_sondage == 0) {
session_destroy();
echo '<h2>Merci de votre participation.</h2>';
//echo '</br>';
header('Refresh: 3; URL = ./index.php?id=1');
//echo "<a href='index.php?id=1'>Retour</a>";
}else {
while ($donnees = $resultat->fetch())
{
//On affiche les données dans le tableau
echo $donnees['question']." ?";
}
}
}
Ce que je veux
On affiche actuellement des questions avec un id 1 - 2 - 3 etc..
On a également des réponses. Quand on répond à la question à l'id 1 on passe à la suivante et ainsi de suite.
Ce que j'obtiens
Si jamais je supprime la question à l'id 3, le site ne va afficher que les 2 premières questions et n'affichera jamais la 4ème.
Je pense que cela est du à cela :
$nb_sondage = $resultat->rowCount();
if ($nb_sondage == 0) {
Auriez vous une idée ?