Récupérer une donnée de BDD avec PHP ...
Résolu/Fermé
Angy
-
8 juin 2011 à 11:29
avion-f16 Messages postés 19241 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 16 mars 2024 - 8 juin 2011 à 15:41
avion-f16 Messages postés 19241 Date d'inscription dimanche 17 février 2008 Statut Contributeur Dernière intervention 16 mars 2024 - 8 juin 2011 à 15:41
A voir également:
- Récupérer une donnée de BDD avec PHP ...
- Recuperer video youtube - Guide
- Comment récupérer un compte facebook piraté - Guide
- Recuperer message whatsapp - Guide
- Comment récupérer une adresse mail - Guide
- Récupérer photo instagram - Guide
5 réponses
avion-f16
Messages postés
19241
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 mars 2024
4 495
8 juin 2011 à 12:56
8 juin 2011 à 12:56
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 ».
pitxu
Messages postés
689
Date d'inscription
vendredi 7 septembre 2007
Statut
Membre
Dernière intervention
25 mars 2015
94
8 juin 2011 à 13:05
8 juin 2011 à 13:05
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'];
}
JooS
Messages postés
2465
Date d'inscription
mardi 22 janvier 2008
Statut
Membre
Dernière intervention
8 juin 2016
228
Modifié par JooS le 8/06/2011 à 15:15
Modifié par JooS le 8/06/2011 à 15:15
Salut ...
Pas besoin de while, vu que y a qu'un seule résultat ...
Et c'est plutôt ça ...
Pas besoin de while, vu que y a qu'un seule résultat ...
Et c'est plutôt ça ...
$req = mysql_query("SELECT MAX(id)-1 as id FROM tables") or die(mysql_error());
avion-f16
Messages postés
19241
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
16 mars 2024
4 495
Modifié par avion-f16 le 8/06/2011 à 15:42
Modifié par avion-f16 le 8/06/2011 à 15:42
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