Incrementation d une variable
DoC__GYne
Messages postés
16
Statut
Membre
-
PMax-57 Messages postés 187 Date d'inscription Statut Membre Dernière intervention -
PMax-57 Messages postés 187 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j ai fait un code php pour insertion de quelques infos dans une table et je vouderai incrementé une variable mais j y arrive pas
voila le code que je realisé
$nom = $_POST['nom'];
$adrs = $_POST['adrs'];
$imm = $_POST['imm'];
$num_loc = $_POST['num_loc'];
$prx = $_POST['prx'];
$date = date("my");
$ref=0;
$bd=mysql_select_db("loyer");
if(!$bd)
{
echo"Base de données introuvable...";
exit(2);
}
$req="INSERT INTO locataires (id,Nom,Adresse,Immeuble,Num_local,Prix,Ref_client) VALUES(\"
\",\"$nom\",\"$adrs\",\"$imm\",\"$num_loc\",\"$prx\",\"$date$ref\")";
$res=mysql_query($req);
if(!$res)
{
echo"Erreur de requette...";
}
else
mysql_close($con);
header("Location: 1st.html");
la veleur ref_client je vouderai mettre une reference qui est la date system + une variable qui s incremente de 1 pour chaque enregistrement
quelqu un peut il m aide?
merci
j ai fait un code php pour insertion de quelques infos dans une table et je vouderai incrementé une variable mais j y arrive pas
voila le code que je realisé
$nom = $_POST['nom'];
$adrs = $_POST['adrs'];
$imm = $_POST['imm'];
$num_loc = $_POST['num_loc'];
$prx = $_POST['prx'];
$date = date("my");
$ref=0;
$bd=mysql_select_db("loyer");
if(!$bd)
{
echo"Base de données introuvable...";
exit(2);
}
$req="INSERT INTO locataires (id,Nom,Adresse,Immeuble,Num_local,Prix,Ref_client) VALUES(\"
\",\"$nom\",\"$adrs\",\"$imm\",\"$num_loc\",\"$prx\",\"$date$ref\")";
$res=mysql_query($req);
if(!$res)
{
echo"Erreur de requette...";
}
else
mysql_close($con);
header("Location: 1st.html");
la veleur ref_client je vouderai mettre une reference qui est la date system + une variable qui s incremente de 1 pour chaque enregistrement
quelqu un peut il m aide?
merci
Configuration: Windows XP Internet Explorer 6.0
3 réponses
-
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 ! -
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 -
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.