Page 1 sur 1

rechercher et ajouter une valeurmax

Posté : 20 nov. 2006, 18:43
par castelli
Bonjour jai une table ou je fais une requete qui doit trouver la derniere valeur maximum qui est dans ma base de donnée et l'incrementé de 1 pour enduite l'inserer dans le formulaire

voici la requete :

$maxref = "SELECT max(groupe) FROM fournisseur ";
$maxref = mysql_query($maxref,$link) or die ('Erreur : '.mysql_error() );
while($row=mysql_fetch_row($maxref))
{
$rowref=$row[0];
}
$rowref++;

hors quand je valide la requeteet que je veux l'executer a nouveau la valeur maximum (rowref ) a toujours la meme valeur alors que au contraire il devraitme dire la valeur avec un de plus
je ne vois pas d'ou vient le probleme

Quelqun aurait il une idée?

Posté : 20 nov. 2006, 18:49
par DocType
youpla boum, !
Sachant que tu recupère une seule ligne, j'ai dû mal à comprendre l'utilité du while :?
De plus, pkoi ne pas définir un champ auto_increment dans ta table plutôt que de faire ce traitement php ?

Posté : 20 nov. 2006, 19:02
par Ajoloca
Bonjour,

Si pour une raison x tu ne peux utiliser 'AUTO_INCREMENT' tu devrais tout de même éviter de faire à PHP des choses que sait faire MySQL.

Une autre remarque, qui s'ajoute à celles de LHDN92, tu devrais éviter cette façon d'écrire
$maxref = "SELECT max(groupe) FROM fournisseur ";
$maxref = mysql_query($maxref,$link) or die ('Erreur : '.mysql_error() );
Utiliser la même variable pour la requête et le résultat de la ressource.
Essaie QQ chose comme ceci
$qry = 'SELECT max(groupe) + 1 AS new_groupe FROM fournisseur'; 
$resultQry = mysql_query($qry) or die ('ERR SQL : ' . $qry . '<br />' . mysql_error());
$new_groupe = mysql_result($resultQry, 0);

Posté : 21 nov. 2006, 11:17
par castelli
Bonjour et desolé pour le retard de mes reponses

Comme vous l'avez dis je ne peux pas utiliser 'AUTO_INCREMENT' car certaine valeur du champ groupe se retrouve.

J'ais regarder la façon dont Ajocalo a formuler la requete mysql et je l'ais tester et sa marche bien.

J'avais pas penser pouvoir faire de cette façon

enfin bon , je vous remercie encore pour cette aide

merci