ajout automatique de le reference lors de la creation d'une

Eléphant du PHP | 450 Messages

23 juin 2005, 14:34

Bonjour ,

J'ais une base de donné de 2332 produit et j'aimerais si possible , lors d'ajout de nouveau produit que mon formulaire me suggere le nom de ma nouvelle reference

la reference = de 1 a 2332 pour le moment..

si quelqu'un a une idée ...

merci
Alone in the dark , I smile :D

Eléphant du PHP | 406 Messages

23 juin 2005, 14:37

au chargement de ta page tu peux prendre la derniere reference et l incrementer de 1 et apres tu l affiche dans une zone texte.
Je pense que j aura fait comme cela

Eléphant du PHP | 450 Messages

23 juin 2005, 14:41

Vi vi vi j'e pensais faire de la meme façon mais le probleme c'est que je fait comment pour recuperer la derniere valeur de la reference?
Alone in the dark , I smile :D

Eléphant du PHP | 260 Messages

23 juin 2005, 14:44

:lol:

Code : Tout sélectionner

SELECT max(nomchamp) FROM nomtable WHERE (condition)
:lol:
Mon jeu : http://www.battle-stars.fr.tc
---
Mon serveur : http://servlan.dyndns.org
---
Bientôt tous mes serveurs OPEN ;)

Eléphant du PHP | 450 Messages

23 juin 2005, 14:46

humm humm on se moque pas je vais essailler :) et pis je viendrais apres pleurer parce que j'aurais pas reussit :) lol :P :P
Alone in the dark , I smile :D

Eléphant du PHP | 104 Messages

23 juin 2005, 14:57

Salut,

Si plusieurs personnes peuvent créer des produits en même temps il faut penser à "verrouiller/déverrouiller" les références qui ne sont que temporaires tant que le produit n'est pas effectivement dans la base de données.

Sinon la première personne à valider son produit va l'insérer correctement alors que l'autre se verra refuser l'insertion à cause d'une référence existante (si bien entendu le champ référence est unique). C'est pas bien grave mais c'est ambêtant pour l'utilisateur surtout s'il y a beaucoup de création de produits. A toi de juger ce qui est le plus raisonnable.

Eléphant du PHP | 260 Messages

23 juin 2005, 15:00

Exact ! Mais j'espère que ton id est unique quand même ! Ainsi que le nom du produit !
Ou autre solution tu creer une deuxieme table identique a la premiere pour les produits pas encore "officiel" et dès qu'ils le deviennent tu les tranfèrent sur l'autre table !
Mon jeu : http://www.battle-stars.fr.tc
---
Mon serveur : http://servlan.dyndns.org
---
Bientôt tous mes serveurs OPEN ;)

Eléphant du PHP | 450 Messages

23 juin 2005, 15:06

Euuuhh , c'est peut etre une question bete ,mais je fait comment pour que la reference soit unique??

sinon j'ais une erreur au niveau de ma requete (mais sa vient surement du fait que c'est la premiere fosi que j'essaille d'incrementer lol )
$maxref = "SELECT max(reference) FROM produit2 ";
$maxref2 = mysql_query($maxref,$link) or die ('Erreur : '.mysql_error() );
$rowref = mysql_fetch_assoc($maxref2);
++$rowref;
echo $rowref;
edit : j'ai corriger une tite faute donc j'ai reediter le code ..

comme message sur la page php j'obtient "Array"

:-k :-k :-k
Alone in the dark , I smile :D

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 juin 2005, 15:12

et pourquoi pas un champ référence AUTO_INCREMENT ?

Eléphant du PHP | 450 Messages

23 juin 2005, 15:14

Sa marche comment sa???

(desolé j'apprend lol ) :lol: :lol:
Alone in the dark , I smile :D

Eléphant du PHP | 104 Messages

23 juin 2005, 15:17

Salut,

Pour que la référence soit unique tu dois déclarer ton champ UNIQUE dans la table.

mysql_fetch_assoc() retourne un tableau donc il affiche array (tableau en anglais :) )

Pas de champ auto-incrémenté car il veut la référence avant la création du produit.

Eléphant du PHP | 260 Messages

23 juin 2005, 15:18

Champ auto_increment :
quand tu cree ton champ id, tu lui met l'attribut auto_increment !

pour ton code essaye sa :
<?
$maxref = "SELECT max(reference) FROM produit2 "; 
$maxref = mysql_query($maxref,$link) or die ('Erreur : '.mysql_error() ); 
while($row=mysql_fetch_row($maxref))
{
	$rowref=$row[0];
}
$rowref++; 
echo $rowref; 
?>
:wink:
Mon jeu : http://www.battle-stars.fr.tc
---
Mon serveur : http://servlan.dyndns.org
---
Bientôt tous mes serveurs OPEN ;)

Eléphant du PHP | 450 Messages

23 juin 2005, 15:20

A d'accord merci encore :) je vais declarer ma table en "UNIQUE" mici encore :)
Alone in the dark , I smile :D

Eléphant du PHP | 104 Messages

23 juin 2005, 15:24

Salut,

Pas la table, le champ.

Eléphant du PHP | 260 Messages

23 juin 2005, 15:29

Et le nom aussi tant qu'a faire comme sa tu n'aura jamais le meme nom de produit (a moins que tu l'ai mis en primaire) !
:wink:
Mon jeu : http://www.battle-stars.fr.tc
---
Mon serveur : http://servlan.dyndns.org
---
Bientôt tous mes serveurs OPEN ;)