arnold002
Messages postés121Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention 5 mars 2007
-
10 nov. 2004 à 15:25
LuggerHouse
Messages postés3Date d'inscriptionvendredi 10 décembre 2004StatutMembreDernière intervention21 août 2006
-
10 déc. 2004 à 19:58
Bonjour,
J'ai une page qui affiche des recettes contenues dans une BDD mysql, sous la forme .../recette.php?id=40 dans l'url.
J'affiche sur toutes les pages des liens vers recette précédente et suivante dans BDD (lien affiché .../recette.php?id=39 ou .../recette.php?id=41).
Lorsque je suis sur la première recette de la table (ou id=1), le lien précédent ne s'affiche pas (grâce à la fonction if else : if(id==1){else echo "id suivante mais pas id précédente}
Comment faire la même chose en sens inverse c à d ne pas afficher id suivante si je suis sur le dernier enregistrement de ma table.
Merci de vos réponses.
A voir également:
Recuperer le dernier enregistrement d'une table mysql
arnold002
Messages postés121Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention 5 mars 2007 10 nov. 2004 à 20:29
je ne sais pas quel est le dernier id. J'insère constamment des recettes dans ma table donc le dernier id varie constamment.
Je voudrai pouvoir afficher ma demande quelle que soit la valeur du dernier id dans une fonction if.. else.
Vous n’avez pas trouvé la réponse que vous recherchez ?
arnold002
Messages postés121Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention 5 mars 2007 10 nov. 2004 à 20:38
Ok, désolé...
je veux dire, comment insérer cette requête dans une fonction.
if idrecette = dernière id else ne pas afficher lien 'page suivante' ?
merci de ta réponse
coockiesch
Messages postés2268Date d'inscriptionmercredi 27 novembre 2002StatutMembreDernière intervention13 septembre 20134 10 nov. 2004 à 21:01
Salut!
Tu fais un truc genre:
$result = mysql_query("SELECT id FROM table ORDER BY id DESC LIMIT 0, 1") or die('Erreur MySQL');
$data = mysql_fetch_array($result);
if($currentId != $data['id'] - 1)
// ici, afficher le lien
arnold002
Messages postés121Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention 5 mars 2007 11 nov. 2004 à 17:32
Hello,
Ok avec ta requête, je ne pas afficher dans url un id supérieur au dernier champ de la table. Si dernier champ=25, je ne peux pas taper ...recette.php?id=26 car ça retourne une erreur.
Le truc c que ma requête dans ma page recette est
$sql = "SELECT * FROM recette where id='$choix' AND valid='1'"
$choix étant une selection faite par formulaire et valid=1 un champ qui me permet de n'afficher que les recettes validées par mes soins et non des recettes insérées par des visiteurs dans ma BDD (par défaut valid=0)
J'ai fait un truc du genre à partir de ta requête
$req = mysql_query("SELECT id FROM table ORDER BY id DESC LIMIT 0, 1") or die('Erreur MySQL');
$result= mysql_fetch_array($req);
if($currentId != ('SELECT id FROM recette where valid=1 ORDER BY id DESC LIMIT 0,1)){
echo affiche lien précédent
}
else{
echo affiche lien précédent
echo affiche lien suivant
}
Ce qui m'empêche d'accéder à la page (dernier id+1)-->page d'erreur mais ça n'affiche pas les liens correspondant.
Pour être plus précis, j'affiche le code que j'utilise :
Lorsque je suis à id=1, il m'affiche uniquement le lien suivant, si id différent de 1, il m'affiche les liens précédent et suivant.
Ca fonctionne pour çà mais pas dans l'autre sens.
arnold002
Messages postés121Date d'inscriptionmercredi 27 octobre 2004StatutMembreDernière intervention 5 mars 2007 11 nov. 2004 à 20:39
Salut,
C ok merci beaucoup. En fait, j'suis vraiment novice et je savais pas qu'on pouvait executer plusieurs requêtes différentes sur une même page. Je t'avais mal compris, désolé.
J'ai juste du changer la ligne suivante :
if($choix < $data['id']-1)
en retirant le -1 sinon il s'arrêtait sur mon avant dernier champ au lieu du dernier. Là ça fonctionne du tonnerre !!
Merci encore de ta patience.
A++