Incrementation d une variable
Fermé
DoC__GYne
Messages postés
16
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
25 juillet 2009
-
24 juil. 2009 à 20:58
PMax-57 Messages postés 195 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 - 25 juil. 2009 à 10:08
PMax-57 Messages postés 195 Date d'inscription lundi 15 juin 2009 Statut Membre Dernière intervention 12 février 2017 - 25 juil. 2009 à 10:08
3 réponses
PMax-57
Messages postés
195
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
12 février 2017
40
24 juil. 2009 à 21:35
24 juil. 2009 à 21:35
Salut !
J'ai pas tout bien compris, mais je vais essayer :
On imagine, si la date systeme est du genre DDMMYYYY (ex : 01122009 pour 1er décembre 2009)
On a alors la variable $date = date('DmY');
On sait que cette variable fait TOUJOURS 8 caractères.
On récupère l'ancienne référence enregistrée pour cette date :
@$req = mysql_query('SELECT id, ref_client FROM locataire WHERE ref_client LIKE "'.$date.'%" DESC LIMIT 0,1 '); (récupération du dernier ID et ref_client avec le ref_client commencant par la même date $date)
if (@mysql_num_rows($req)>0){
@$rep = mysql_fetch_object($req);
$lastrefclient = substr($rep->ref_client, 8, 100); // Récupération du lastrefclient, ce qui suit aux 8 premiers caractères.
}
else { $lastrefclient = 0; } // Aucun ref client enregistré.
//Maintenant, on utilise un nouveau ref_client pour l'objet en cours :
$thisrefclient = ''.$date.''.$lastrefclient+1.''; //on incrémente de 1 par rapport au dernier enregistré.
Ensuite tu inseres dans SQL avec ta fonction.
Bon courage !
J'ai pas tout bien compris, mais je vais essayer :
On imagine, si la date systeme est du genre DDMMYYYY (ex : 01122009 pour 1er décembre 2009)
On a alors la variable $date = date('DmY');
On sait que cette variable fait TOUJOURS 8 caractères.
On récupère l'ancienne référence enregistrée pour cette date :
@$req = mysql_query('SELECT id, ref_client FROM locataire WHERE ref_client LIKE "'.$date.'%" DESC LIMIT 0,1 '); (récupération du dernier ID et ref_client avec le ref_client commencant par la même date $date)
if (@mysql_num_rows($req)>0){
@$rep = mysql_fetch_object($req);
$lastrefclient = substr($rep->ref_client, 8, 100); // Récupération du lastrefclient, ce qui suit aux 8 premiers caractères.
}
else { $lastrefclient = 0; } // Aucun ref client enregistré.
//Maintenant, on utilise un nouveau ref_client pour l'objet en cours :
$thisrefclient = ''.$date.''.$lastrefclient+1.''; //on incrémente de 1 par rapport au dernier enregistré.
Ensuite tu inseres dans SQL avec ta fonction.
Bon courage !
DoC__GYne
Messages postés
16
Date d'inscription
samedi 12 juillet 2003
Statut
Membre
Dernière intervention
25 juillet 2009
4
25 juil. 2009 à 02:36
25 juil. 2009 à 02:36
merci de ton implication
ce que je voulais dire pour la reference j ai mis la date juste pour quelle soit une partie homogene pour tt les clients et apres pour les differencier j ai mis une variable $ref auquelle j ai affecté la valeur 0 au debut
ce qui donnera par la suite une reference tel (07090) le mois l année et 0 de la variable $ref
mnt sachant que $date sera stable pour le tt je veux juste incrementé $ref
j ai essayé avec $ref++;
comme j ai essayé de mettre une boucle for(); mais ca n a pas marché
pour l insertion du 1er client j ai aucun probleme et il recois la reference 07090 mnt le 2eme je veux qu il aie la reference 07091
merci enormement encore une fois
ce que je voulais dire pour la reference j ai mis la date juste pour quelle soit une partie homogene pour tt les clients et apres pour les differencier j ai mis une variable $ref auquelle j ai affecté la valeur 0 au debut
ce qui donnera par la suite une reference tel (07090) le mois l année et 0 de la variable $ref
mnt sachant que $date sera stable pour le tt je veux juste incrementé $ref
j ai essayé avec $ref++;
comme j ai essayé de mettre une boucle for(); mais ca n a pas marché
pour l insertion du 1er client j ai aucun probleme et il recois la reference 07090 mnt le 2eme je veux qu il aie la reference 07091
merci enormement encore une fois
PMax-57
Messages postés
195
Date d'inscription
lundi 15 juin 2009
Statut
Membre
Dernière intervention
12 février 2017
40
25 juil. 2009 à 10:08
25 juil. 2009 à 10:08
Salut,
Ta méthode est comme celle que j'avais expliquer, à l'exception d'avoir les jours dans la date. Tu enleves donc 2 caractères.
la boucle for et la fonction $ref++ s'utilise uniquement lors du log php, en clair elle commence à 0 à chaque fois que tu ouvre ton fichier php.
Là, il faut que tu récupère ta derniere variable ref enregistrée et que tu l'incrémente de 1.
Ta méthode est comme celle que j'avais expliquer, à l'exception d'avoir les jours dans la date. Tu enleves donc 2 caractères.
la boucle for et la fonction $ref++ s'utilise uniquement lors du log php, en clair elle commence à 0 à chaque fois que tu ouvre ton fichier php.
Là, il faut que tu récupère ta derniere variable ref enregistrée et que tu l'incrémente de 1.