Récupérer une donnée de BDD avec PHP ...
Résolu
Angy
-
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
avion-f16 Messages postés 19252 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je n'arrive pas à trouver le bout de code (PHP et SQL) qui me permettrait de récupérer l'avant dernier jeu de données d'une table, de ma base de données...
Si quelqu'un pouvait m'aiguiller voire me donner ce code se serait super :)
Je suis novice en PHP-MySQL, ne soyez pas trop sévère vis-à-vis de ma question ;-)
Merci,
Angy
Je n'arrive pas à trouver le bout de code (PHP et SQL) qui me permettrait de récupérer l'avant dernier jeu de données d'une table, de ma base de données...
Si quelqu'un pouvait m'aiguiller voire me donner ce code se serait super :)
Je suis novice en PHP-MySQL, ne soyez pas trop sévère vis-à-vis de ma question ;-)
Merci,
Angy
A voir également:
- Récupérer une donnée de BDD avec PHP ...
- Recuperer message whatsapp supprimé - Guide
- Comment recuperer une video sur youtube - Guide
- Impossible de récupérer mon compte gmail - Guide
- Récupérer mon compte facebook désactivé - Guide
- Comment récupérer un compte facebook piraté - Guide
5 réponses
Salut,
Tu peux inverse l'ordre avec « ORDER BY cle DESC »
(où le champ 'cle' est la clé primaire de ta table, souvent 'id')
Une fois que tu as les plus récent en tête de liste, il suffit de récupérer le deuxième élément.
Tu peux utiliser « LIMIT 1,1 ».
Tu peux inverse l'ordre avec « ORDER BY cle DESC »
(où le champ 'cle' est la clé primaire de ta table, souvent 'id')
Une fois que tu as les plus récent en tête de liste, il suffit de récupérer le deuxième élément.
Tu peux utiliser « LIMIT 1,1 ».
Bonjour,
on créé un champ 'id' qui s'incrémente automatiquement,
on exécute la requéte SQL en mettant une condition
$req = mysql_query("SELECT champ1,champ2 FROM table WHERE id = MAX(id) -1") or die(mysql_error());
on affiche
while ($row=$mysql_fetch_assoc($req)) {
echo $row['champ1'],$row['champ2'];
}
on créé un champ 'id' qui s'incrémente automatiquement,
on exécute la requéte SQL en mettant une condition
$req = mysql_query("SELECT champ1,champ2 FROM table WHERE id = MAX(id) -1") or die(mysql_error());
on affiche
while ($row=$mysql_fetch_assoc($req)) {
echo $row['champ1'],$row['champ2'];
}
Ce n'est pas le sujet mais je préfère en profiter pour le dire : la gestion des erreurs SQL avec « or die » est à éviter ! L'exécution de la page est arrêtée et on se retrouve avec des demi-pages et du code invalide.
Je conseille de faire comme ceci :
Ou mieux, utiliser PDO qui utilise les exceptions pour gérer les erreurs.
Je conseille de faire comme ceci :
if(($resultat = @mysql_query($query)) === false) { echo 'Erreur SQL : '.mysql_error(); } else { echo 'OK'; // On peut utiliser $resultat (ressource) }
Ou mieux, utiliser PDO qui utilise les exceptions pour gérer les erreurs.
Merci pour vos réponses.
avion-f16 : je pense que cette solution peut complétement me convenir, merci.
Sinon, pitxu, c'est ce que j'avais fait dans un premier temps ce que tu m'as montré. Le fait est qu'étant amené à supprimer des jeux de données, je ne peux pas me permettre de prendre un résultat du type "toutes les données de ((dernier id)-1)" :-/
avion-f16 : je pense que cette solution peut complétement me convenir, merci.
Sinon, pitxu, c'est ce que j'avais fait dans un premier temps ce que tu m'as montré. Le fait est qu'étant amené à supprimer des jeux de données, je ne peux pas me permettre de prendre un résultat du type "toutes les données de ((dernier id)-1)" :-/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question