Récuperer et incrémenter une variable d'une base de donnée (php)

Signaler
-
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
-
Bonjour,
Je dois créer un formulaire qui s'incrémente a chaque fois qu'une personne le remplit.
J'ai un petit problème avec ma base de donnée, je veux extraire une valeur (sa j'y arrive) mais le problème c'est que je voudrais que ma dernière ligne car je voudrais ensuite incrémenter cette valeur numérique.

mon code :
mysql_connect("localhost", "arnaud", "root"); // Connexion à la base de données
 mysql_select_db("presta_info"); // Sélection de la base de données 
 $reponse = mysql_query ("SELECT * FROM formulaire ORDER BY numero DESC"); // Requête SQL
 
 while ($donnees = mysql_fetch_array($reponse)) // On boucle pour afficher toutes les données et on met toutes données dans un tableau
 {
echo $donnees['numero'];  
  

 }
 mysql_close();

merci d'avance
A voir également:

4 réponses

Messages postés
130
Date d'inscription
lundi 11 janvier 2010
Statut
Membre
Dernière intervention
7 juin 2013

Bonjour,

Tu peux modifier ta requête pour ne récupérer que le numéro maximum : SELECT max(numero) FROM formulaire.

Ou alors, tu mets un break dès que tu récupères la valeur de numero :
 mysql_connect("localhost", "arnaud", "root");
 mysql_select_db("presta_info");
 $reponse = mysql_query ("SELECT numero FROM formulaire ORDER BY numero DESC");
 
 while ($donnees = mysql_fetch_array($reponse)){
echo $donnees['numero'];break;
 }
 mysql_close();


NB : pour des raisons d'optimisation, je te conseille de ne récupérer que les champs dont tu as besoin dans ta requête.

J'ai trouvé comment faire j'ai tout simplement enlevé ma boucle

mysql_connect("localhost", "arnaud", "root"); // Connexion à la base de données
mysql_select_db("presta_info"); // Sélection de la base de données
$reponse = mysql_query ("SELECT * FROM formulaire ORDER BY numero DESC"); // Requête SQL

$donnees = mysql_fetch_array($reponse); // On boucle pour afficher toutes les données et on met toutes données dans un tableau


//echo ("");
$num = $donnees['numero'];
$num ++ ;


echo $num;
Messages postés
72
Date d'inscription
mercredi 7 février 2007
Statut
Membre
Dernière intervention
25 juillet 2013
1
Bonjour,

Si tu n'as besoin que d'une ligne, pourquoi demander à mysql de récupérer l'ensemble des données de la table ?
La commande "top 1" te permet de ne récupérer que la première ligne. Comme tu tries par numéro descendant, tu n'auras qu'un numéro....

$reponse = mysql_query ("SELECT top 1 numero FROM formulaire ORDER BY numero DESC"); // Requête SQL


-------------------
Oderint dum metuant
Messages postés
1313
Date d'inscription
jeudi 16 juillet 2009
Statut
Membre
Dernière intervention
20 juin 2014
6
Hello,

Moi je ferai ceci :

$reponse = mysql_query("SELECT numero FROM formulaire ORDER BY numero DESC LIMIT 1");


A+

BBFUNK01

//C'est en forgeant qu'on devient forgeron... ;-) ;