Je cherche à créer un formulaire basé sur une table MySql.
Je voudrais que ce formulaire affiche par défaut le premier enregistrement
de la table ET pouvoir naviguer d'un enregistrement à l'autre avec des
boutons "Suivant", "Précédent" etc...
C'est cette navigation qui me pose problème.
Ne trouvant pas d'exemple sur le web, je me pose la question si cela est
bien possible.
J'ai bien la solution de créer un cookie contenant la clé courante et d'en
tenir compte par la suite mais si la table est importante cela risque de
ramer.
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Guillaume Bouchard
Jacques wrote:
Je voudrais que ce formulaire affiche par défaut le premier enregistrement de la table ET pouvoir naviguer d'un enregistrement à l'autre avec des boutons "Suivant", "Précédent" etc...
Donc au depart, tu selectiones tes infos de cette façon
SELECT ... FROM table ORDER BY ... LIMIT 1
Non ? Il te suffit de jouer avec la clause LIMIT debut,nombre
Donc quelque chose du genre
<?php
// En toute rigueur, on devrais tester si 0 <= page <= max if(isset($_POST['page']) && is_numeric($_POST['page'])){ $nb = $_POST['page']; } else { $nb = 0; }
$sql = "SELECT ... FROM table ORDER BY ... LIMIT $nb,1";
?>
C'est cette navigation qui me pose problème.
Pour la navigation, à toi de faire un button qui envoie vers page=nb-1 et l'autre vers page=nb+1 en faisant bien attention à ne pas obtenir de nb <= 0 ou > ton_max.
Ne trouvant pas d'exemple sur le web, je me pose la question si cela est bien possible.
Tous est possible, sauf de depasser la vitesse de la lumière et ont n'en ai pas encore certain ;o)
-- Guillaume.
Jacques wrote:
Je voudrais que ce formulaire affiche par défaut le premier enregistrement
de la table ET pouvoir naviguer d'un enregistrement à l'autre avec des
boutons "Suivant", "Précédent" etc...
Donc au depart, tu selectiones tes infos de cette façon
SELECT ... FROM table ORDER BY ... LIMIT 1
Non ?
Il te suffit de jouer avec la clause LIMIT debut,nombre
Donc quelque chose du genre
<?php
// En toute rigueur, on devrais tester si 0 <= page <= max
if(isset($_POST['page']) && is_numeric($_POST['page'])){
$nb = $_POST['page'];
} else {
$nb = 0;
}
$sql = "SELECT ... FROM table ORDER BY ... LIMIT $nb,1";
?>
C'est cette navigation qui me pose problème.
Pour la navigation, à toi de faire un button qui envoie vers page=nb-1
et l'autre vers page=nb+1 en faisant bien attention à ne pas obtenir de
nb <= 0 ou > ton_max.
Ne trouvant pas d'exemple sur le web, je me pose la question si cela est
bien possible.
Tous est possible, sauf de depasser la vitesse de la lumière et ont n'en
ai pas encore certain ;o)
Je voudrais que ce formulaire affiche par défaut le premier enregistrement de la table ET pouvoir naviguer d'un enregistrement à l'autre avec des boutons "Suivant", "Précédent" etc...
Donc au depart, tu selectiones tes infos de cette façon
SELECT ... FROM table ORDER BY ... LIMIT 1
Non ? Il te suffit de jouer avec la clause LIMIT debut,nombre
Donc quelque chose du genre
<?php
// En toute rigueur, on devrais tester si 0 <= page <= max if(isset($_POST['page']) && is_numeric($_POST['page'])){ $nb = $_POST['page']; } else { $nb = 0; }
$sql = "SELECT ... FROM table ORDER BY ... LIMIT $nb,1";
?>
C'est cette navigation qui me pose problème.
Pour la navigation, à toi de faire un button qui envoie vers page=nb-1 et l'autre vers page=nb+1 en faisant bien attention à ne pas obtenir de nb <= 0 ou > ton_max.
Ne trouvant pas d'exemple sur le web, je me pose la question si cela est bien possible.
Tous est possible, sauf de depasser la vitesse de la lumière et ont n'en ai pas encore certain ;o)
-- Guillaume.
John Gallet
Bonjour,
Je voudrais que ce formulaire affiche par défaut le premier enregistrement de la table ET pouvoir naviguer d'un enregistrement à l'autre avec des boutons "Suivant", "Précédent" etc...
Plusieurs méthodes sont détaillées sur la FAQ de ce forum : http://faqfclphp.free.fr/ chapitre 8. HTH JG
Bonjour,
Je voudrais que ce formulaire affiche par défaut le premier enregistrement
de la table ET pouvoir naviguer d'un enregistrement à l'autre avec des
boutons "Suivant", "Précédent" etc...
Plusieurs méthodes sont détaillées sur la FAQ de ce forum :
http://faqfclphp.free.fr/ chapitre 8.
HTH
JG
Je voudrais que ce formulaire affiche par défaut le premier enregistrement de la table ET pouvoir naviguer d'un enregistrement à l'autre avec des boutons "Suivant", "Précédent" etc...
Plusieurs méthodes sont détaillées sur la FAQ de ce forum : http://faqfclphp.free.fr/ chapitre 8. HTH JG
Bruno Baguette
Jacques wrote: [--SNIP--]
<?php
// En toute rigueur, on devrais tester si 0 <= page <= max if(isset($_POST['page']) && is_numeric($_POST['page'])){ $nb = $_POST['page']; } else { $nb = 0; }
Au lieu d'utiliser is_numeric() - qui accepte également les nombres indiqués en hexadécimal - ne serait-il pas préférable d'utiliser les fonctions C ctype_* (http://php.belnet.be/manual/en/ref.ctype.php) ?
Dans ce cas ci, ce serait plutôt la fonction ctype_digit() qu'il faudrait utiliser, sauf erreur de ma part.
Cordialement,
-- ---------------------------------------- Bruno Baguette -
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
Jacques wrote:
[--SNIP--]
<?php
// En toute rigueur, on devrais tester si 0 <= page <= max
if(isset($_POST['page']) && is_numeric($_POST['page'])){
$nb = $_POST['page'];
} else {
$nb = 0;
}
Au lieu d'utiliser is_numeric() - qui accepte également les nombres
indiqués en hexadécimal - ne serait-il pas préférable d'utiliser les
fonctions C ctype_* (http://php.belnet.be/manual/en/ref.ctype.php) ?
Dans ce cas ci, ce serait plutôt la fonction ctype_digit() qu'il faudrait
utiliser, sauf erreur de ma part.
Cordialement,
--
----------------------------------------
Bruno Baguette - bouchon@alussinan.org
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL
// En toute rigueur, on devrais tester si 0 <= page <= max if(isset($_POST['page']) && is_numeric($_POST['page'])){ $nb = $_POST['page']; } else { $nb = 0; }
Au lieu d'utiliser is_numeric() - qui accepte également les nombres indiqués en hexadécimal - ne serait-il pas préférable d'utiliser les fonctions C ctype_* (http://php.belnet.be/manual/en/ref.ctype.php) ?
Dans ce cas ci, ce serait plutôt la fonction ctype_digit() qu'il faudrait utiliser, sauf erreur de ma part.
Cordialement,
-- ---------------------------------------- Bruno Baguette -
Build A Brighter Lamp :: Linux Apache {middleware} PostgreSQL