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   -
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
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  1. PMax-57 Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   40
     
    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 !
    0
  2. DoC__GYne Messages postés 16 Statut Membre 4
     
    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
    0
  3. PMax-57 Messages postés 187 Date d'inscription   Statut Membre Dernière intervention   40
     
    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.
    0