{MySQL} Récuperation d'un ID
Résolu
Bannas
-
demattos Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
demattos Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'expose mon probleme, je veux recuperer le dernier 'ID' enregistré d'une table. Je ne peux pas utiliser la fonction mysql_insert_id() car j'ai fermé ma connection sql entre temps. Je souhaite donc utiliser la fonction max() (un seul utilisateur a la fois donc pas de soucis. VOici mon code :
//récuperation de l'ID
$requete0 = "SELECT MAX(id_projet) FROM projet ";
$id_pro = mysql_query ($requete0) or die ("Exécution de la requête impossible");
$id_projet=mysql_fetch_array($id_pro);
//requete
$requete1="select nom_album, type_album from album, projet where album.id_projet=projet.$id_projet";
$resultat1=mysql_query($requete1);
$row1=mysql_fetch_array($resultat1);
Le problème etant que je n'arrive pas a effectuer ma requete1 (le $id_projet semble poser problème)
j'expose mon probleme, je veux recuperer le dernier 'ID' enregistré d'une table. Je ne peux pas utiliser la fonction mysql_insert_id() car j'ai fermé ma connection sql entre temps. Je souhaite donc utiliser la fonction max() (un seul utilisateur a la fois donc pas de soucis. VOici mon code :
//récuperation de l'ID
$requete0 = "SELECT MAX(id_projet) FROM projet ";
$id_pro = mysql_query ($requete0) or die ("Exécution de la requête impossible");
$id_projet=mysql_fetch_array($id_pro);
//requete
$requete1="select nom_album, type_album from album, projet where album.id_projet=projet.$id_projet";
$resultat1=mysql_query($requete1);
$row1=mysql_fetch_array($resultat1);
Le problème etant que je n'arrive pas a effectuer ma requete1 (le $id_projet semble poser problème)
A voir également:
- {MySQL} Récuperation d'un ID
- Comment recuperer un message supprimé sur whatsapp - Guide
- Id telephone - Guide
- Mysql community server - Télécharger - Bases de données
- Convertisseur récupération de texte - Guide
- Comment récupérer un compte facebook piraté - Guide
11 réponses
Bonjour,
Pour selectionner le dernier ID d'une table je te conseille :
$sql = 'SELECT * FROM album ORDER BY id_projet DESC LIMIT 0,0';
$query = mysql_query($sql) or die mysql_error();
$id_projet = mysql_fetch_array($query);
Donc là on a récupéré toutes les infos où il y a le dernier ID.
------------------------------------
$sql2="SELECT nom_album, type_album FROM album WHERE album.id_projet= '".projet.$id_projet;
$query2 =mysql_query($sql2);
$sql3="SELECT nom_album, type_album FROM projet WHERE album.id_projet= '".projet.$id_projet;
$query3 =mysql_query($sql3);
$data_album = mysql_fetch_array($query2);
$data_projet = mysql_fetch_array($query3);
-----------------------------------
Pour selectionner le dernier ID d'une table je te conseille :
$sql = 'SELECT * FROM album ORDER BY id_projet DESC LIMIT 0,0';
$query = mysql_query($sql) or die mysql_error();
$id_projet = mysql_fetch_array($query);
Donc là on a récupéré toutes les infos où il y a le dernier ID.
------------------------------------
$sql2="SELECT nom_album, type_album FROM album WHERE album.id_projet= '".projet.$id_projet;
$query2 =mysql_query($sql2);
$sql3="SELECT nom_album, type_album FROM projet WHERE album.id_projet= '".projet.$id_projet;
$query3 =mysql_query($sql3);
$data_album = mysql_fetch_array($query2);
$data_projet = mysql_fetch_array($query3);
-----------------------------------
Bonjour,
pour moi il y a un pb PHP :
$requete0 = "SELECT MAX(id_projet) FROM projet ";
$id_pro = mysql_query ($requete0) or die ("Exécution de la requête impossible");
$id_projet=mysql_fetch_array($id_pro);
devrait etre
$requete0 = "SELECT MAX(id_projet) FROM projet ";
$id_pro = mysql_query ($requete0) or die ("Exécution de la requête impossible");
$row=mysql_fetch_array($id_pro);
$id_projet=$row[0];
non ?
pour moi il y a un pb PHP :
$requete0 = "SELECT MAX(id_projet) FROM projet ";
$id_pro = mysql_query ($requete0) or die ("Exécution de la requête impossible");
$id_projet=mysql_fetch_array($id_pro);
devrait etre
$requete0 = "SELECT MAX(id_projet) FROM projet ";
$id_pro = mysql_query ($requete0) or die ("Exécution de la requête impossible");
$row=mysql_fetch_array($id_pro);
$id_projet=$row[0];
non ?
Bonjour,
Pour ce qui est de recuperer le résultat d'une fonction d'agrégation comme Max() en MySql, regardez par ici (les derniers post nottament) :
http://www.commentcamarche.net/forum/affich 1691973 php mysql recuperer valeur max
Salutations.
Pour ce qui est de recuperer le résultat d'une fonction d'agrégation comme Max() en MySql, regardez par ici (les derniers post nottament) :
http://www.commentcamarche.net/forum/affich 1691973 php mysql recuperer valeur max
Salutations.
select nom_album, type_album from album, projet where album.id_projet=projet.$id_projet
$id_projet n'appartient pas à une table, ce que tu veux faire c'est plutôt préciser une valeur, mais pas un attribut :
select nom_album, type_album from album, projet where album.id_projet=$id_projet
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
@ M'enfin??..
Merci pour ce link, je l'avais deja regardé et apres plusieurs modifications j'ai tjrs mon probleme
@Yoan
il y a effactivement une table projet, d'ou la jointure "album.id_projet=projet.$id_projet"
En faite, je ne sais pas ou placer ma variable $id_projet dans ma requete. Car ma requete max(id_projet) est bonne mais pas la requete pour l'exploiter.
Merci pour ce link, je l'avais deja regardé et apres plusieurs modifications j'ai tjrs mon probleme
@Yoan
il y a effactivement une table projet, d'ou la jointure "album.id_projet=projet.$id_projet"
En faite, je ne sais pas ou placer ma variable $id_projet dans ma requete. Car ma requete max(id_projet) est bonne mais pas la requete pour l'exploiter.
il y a effactivement une table projet, d'ou la jointure "album.id_projet=projet.$id_projet"
Mais alors ce n'est pas comme ça que ça s'écrit :)
Parce que comme tu l'as écrit, ta requête va ressembler par exemple à :
Tu peux faire une sélection plus une jointure si tu veux, mais il ne faut pas mélanger les conditions :
Mais alors ce n'est pas comme ça que ça s'écrit :)
Parce que comme tu l'as écrit, ta requête va ressembler par exemple à :
select nom_album, type_album from album, projet where album.id_projet=projet.65
Tu peux faire une sélection plus une jointure si tu veux, mais il ne faut pas mélanger les conditions :
select nom_album, type_album from album, projet where album.id_projet=$id_projet and album.id_projet=projet.lautreidprojetdelatableprojet
Hum... j'ai essayer vos deux solutions et ca ne fonctionne toujours pas... c'est OK pour le DESC LIMIT mais pas pour le reste.
J'ai precisez dans mon premier post que je n'utilisez pas la fonction mysql_insert_id() a cause d'une nouvelle connexion a ma base. Sachant que je le formulaire (donc l'insertion dans la base de donnée) et ma page actuelles sont 2 pages distinct, est il possible de garde la connexion ouvertE ? je demande au cas ou...
Voilà normalement le DESC LIMIT que je t'ai donné devrait avoir marché, mais je m'interroge quand même sur la version de ton php ?
Bonjour,
je tiens a vous remercier pour votre engagement et votre aide :)
@ixabro : j'etais en version 5.2.6 j'en ai profité pour passer en 5.2.9-2 ;) merci
@dam75 : j'ai utilisé ta remarque et cela fonctionne !! apres avoir passé la journée d'hier dessus tu me ouvert la voie et je t'en remercie.
Donc encore merci à vous pour cette aide precisieuse ;)
je tiens a vous remercier pour votre engagement et votre aide :)
@ixabro : j'etais en version 5.2.6 j'en ai profité pour passer en 5.2.9-2 ;) merci
@dam75 : j'ai utilisé ta remarque et cela fonctionne !! apres avoir passé la journée d'hier dessus tu me ouvert la voie et je t'en remercie.
Donc encore merci à vous pour cette aide precisieuse ;)