Afficher résultat par résultat en cliquant sur un bouton

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Afficher résultat par résultat en cliquant sur un bouton

Re: Afficher résultat par résultat en cliquant sur un bouton

par energizer » 11 nov. 2016, 16:45

Une erreur 500...

Re: Afficher résultat par résultat en cliquant sur un bouton

par or 1 » 11 nov. 2016, 16:33

avec limit, donc il faut plutôt partir de ton premier code. qu'est-ce qu'il donne ?

Re: Afficher résultat par résultat en cliquant sur un bouton

par energizer » 11 nov. 2016, 15:08

<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', 'root');
mysql_select_db('mabase'); // Sélection de la base
?>
<html>
<head>
<title>Questions</title>

   
</head>
<body>
<?php
// lancement de la requete
$sql = 'SELECT questions FROM listequestions WHERE id = "1"';

// on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on recupere le resultat sous forme d'un tableau
$data = mysql_fetch_array($req);

// on libère l'espace mémoire alloué pour cette interrogation de la base
mysql_free_result ($req);
mysql_close ();
?>
Question :<br />
<?php echo $data['questions']; ?>


</body>
</html>
En faisant cela j'ai seulement la question dont l'ID est égale à 1. Comment je peux faire pour que sur la page suivante j'ai la question dont l'ID est 2... Et ainsi de suite ?
Je ne sais pas si je suis sur la bonne voie...

Re: Afficher résultat par résultat en cliquant sur un bouton

par @rthur » 11 nov. 2016, 14:23

LIMIT en SQL c'est pour limiter le nombre de résultats retourner par ta requête.
Si tu veux filtrer tes résultats par des critères particulier, il faut que tu utilises WHERE

Re: Afficher résultat par résultat en cliquant sur un bouton

par energizer » 11 nov. 2016, 13:46

J'ai essayé de faire quelque chose avec "LIMIT" :
<?php
// on se connecte à notre base
$base = mysql_connect ('localhost', 'root', 'root');
mysql_select_db('mabase'); // Sélection de la base
?>
<html>
<head>
<title>Questions</title>

</head>
<body>
<?php
//On récupère la dernière valeur de x
$x = $_GET['debut'];
//On fixe z et on détermine t
  $sql = "SELECT * FROM listequestions";
  $req = mysql_query($sql);
$t = mysql_num_rows($req);
$z = 2;
//On forme la requête SQL
$sql = "SELECT * FROM listequestions ORDER BY id DESC LIMIT $x,$z;";
//On prépare les nouvelles valeurs de x et y
$y = $x - $z;
if($y < 0)
  $y = 0;
$x = $x + $z;
//Doit-on afficher le bouton "précédent" ?
if($x > $z)
  echo "<a href="resultats.php?debut=$y">Page précédente</a>";
//Doit-on afficher le bouton "suivant" ?
if($x < $t)
  echo "<a href="resultats.php?debut=$x">Page précédente</a>";
?>


</body>
</html>

Re: Afficher résultat par résultat en cliquant sur un bouton

par @rthur » 11 nov. 2016, 13:22

Bonjour,

Qu'as-tu essayé ? Qu'est-ce qui ne marche pas ?

Si tu ne sais pas comment faire, voici un tuto qui explique comment lire les données d'une bdd et les afficher dans une page web :
https://openclassrooms.com/courses/conc ... -donnees-2

Afficher résultat par résultat en cliquant sur un bouton

par energizer » 11 nov. 2016, 13:16

Bonjour,

Ma bdd est la suivante :
_________________________
id | Questions
_________________________
1 | Question numéro 1
_________________________
2 | Question numéro 2
__________________________
3 | Question numéro 3
_________________________
4 | Question numéro 4
_________________________
et ainsi de suite...


Je cherche à afficher sur une page, les questions les unes après les autres (pas toutes les questions à la suite).
Je voudrais qu'en cliquant sur un bouton, cela m'affiche la question 2. En recliquant... la question 3... et ainsi de suite.
Tout en masquant les précédentes questions affichées.

Ma page ressemblerait à ça :

Question :
Question numéro 1

______________________________
|Aller à la question suivante|
______________________________


Et la page suivante :

Question :
Question numéro 2

______________________________
|Aller à la question suivante|
______________________________


Je pense que cela ne doit pas être très compliqué, mais comme je débute, j'ai quelques difficultés. :(
Je vous remercie d'avance pour votre aide. :wink: