rechercher et ajouter une valeurmax

Eléphant du PHP | 450 Messages

20 nov. 2006, 18:43

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?
Alone in the dark , I smile :D

Mammouth du PHP | 1776 Messages

20 nov. 2006, 18:49

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 ?

ViPHP
ViPHP | 1961 Messages

20 nov. 2006, 19:02

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);
Deux choses sont infinies, l'Univers et la sottise humaine!!
Mais je ne suis pas sur de ce que j'affirme au sujet de l'Univers.

A. Einstein

Eléphant du PHP | 450 Messages

21 nov. 2006, 11:17

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
Alone in the dark , I smile :D