[PHP/SQL] Insérer un numéro dans une BdD
Résolu
Slylia
Messages postés
58
Date d'inscription
Statut
Membre
Dernière intervention
-
Slylia Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
Slylia Messages postés 58 Date d'inscription Statut Membre Dernière intervention -
Bonjour à tous,
Je dois créer un numéro de commande sous la forme AA-NuméroDeCommande mais dont le numéro de commande se remet à 0 lorsque l'on change d'année.
Voila un extrait de ma base de données :
J'ai fais ce code pour générer un nouveau numéro de bon de commande. Je peux faire plus simple ou convient-il ?
Le nouveau bon de commande se génère bien par contre j'ai un problème pour insérer le numéro de commande dans la table.
En effet quand j'insère la nouvelle commande, celle-ci s'insère bien mais le champ COM_Num_Com reste à 0 et une ligne vide s'ajoute en plus.
Voila le code sql de cette page :
Pouvez-vous m'aider ?
Je dois créer un numéro de commande sous la forme AA-NuméroDeCommande mais dont le numéro de commande se remet à 0 lorsque l'on change d'année.
Voila un extrait de ma base de données :
CREATE TABLE IF NOT EXISTS 'commande' ( 'COM_Id' int(11) NOT NULL AUTO_INCREMENT, 'COM_Code' varchar(15) NOT NULL, 'COM_Date' date NOT NULL, 'COM_Num_Com' int(5) NOT NULL, 'COM_FRS_Id' int(11) NOT NULL, 'COM_LAB_Id' int(11) NOT NULL, 'COM_DEM_Id' int(11) NOT NULL, 'COM_Inactive' text NOT NULL, 'COM_Rec' binary(1) NOT NULL COMMENT 'Commande dans fichier ou non', 'COM_Commentaire' text NOT NULL, PRIMARY KEY ('COM_Id'), UNIQUE KEY 'COM_Code' ('COM_Code') ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=292;
J'ai fais ce code pour générer un nouveau numéro de bon de commande. Je peux faire plus simple ou convient-il ?
$req_COM_Date = ("SELECT MAX(COM_Date) FROM commande"); //Recherche de la plus grande date $aff_COM_Date = mysql_query($req_COM_Date, $connect) or die($req_COM_Date . " - " . mysql_error()); $affiche_COM_Date = mysql_result($aff_COM_Date,0); $champ_COM_Date = substr($affiche_COM_Date,2,4); //On récupère la fin de l'année de la plus grande date $annee = substr (date('y'),-2); //On récupère la fin de l'année de la date du jour if ($annee > $champ_COM_Date) //On compare la plus grande année à l'année du jour { $req_COM_Num_Com = ("SELECT MAX(COM_Num_Com) FROM commande"); $aff_COM_Num_Com = mysql_query($req_COM_Num_Com, $connect) or die($req_COM_Num_Com . " - " . mysql_error()); $affiche_COM_Num_Com = mysql_result($aff_COM_Num_Com,0); $affiche_COM_Num_Com = 0; //Si changement d'année on remet le compteur à 0 } else { $req_COM_Num_Com = ("SELECT MAX(COM_Num_Com) FROM commande"); $aff_COM_Num_Com = mysql_query($req_COM_Num_Com, $connect) or die($req_COM_Num_Com . " - " . mysql_error()); $affiche_COM_Num_Com = mysql_result($aff_COM_Num_Com,0); $affiche_COM_Num_Com = $affiche_COM_Num_Com + 1; //Sinon on augmente de 1 }
Le nouveau bon de commande se génère bien par contre j'ai un problème pour insérer le numéro de commande dans la table.
En effet quand j'insère la nouvelle commande, celle-ci s'insère bien mais le champ COM_Num_Com reste à 0 et une ligne vide s'ajoute en plus.
Voila le code sql de cette page :
//Sélection et connexion à la base de données commande include '../connexion.php'; session_start(); $COM_Code = isset($_GET['COM_Code']) ? $_GET['COM_Code'] : ''; $COM_Date = isset($_GET['COM_Date']) ? $_GET['COM_Date'] : ''; $laboratoire = isset($_GET['laboratoire']) ? $_GET['laboratoire'] : ''; $demandeur = isset($_GET['demandeur']) ? $_GET['demandeur'] : ''; $fournisseur = isset($_GET['fournisseur']) ? $_GET['fournisseur'] : ''; // Insertion de la nouvelle commande $res_insertCommande = "INSERT INTO commande (COM_Id, COM_Code, COM_Date, COM_FRS_Id, COM_LAB_Id, COM_DEM_Id, COM_Inactive, COM_Rec ) VALUES ('', '$COM_Code', '$COM_Date', '$fournisseur', '$laboratoire', '$demandeur', 'O','0')"; $insertCommande = mysql_query($res_insertCommande, $connect) or die($res_insertCommande . " - " . mysql_error()); $req_commande = "SELECT COM_Id FROM commande WHERE COM_Code='$COM_Code' AND COM_DEM_Id='$demandeur' AND COM_FRS_Id='$fournisseur'"; $commande = mysql_query($req_commande, $connect) or die($req_commande . " - " . mysql_error()); while ($tab = mysql_fetch_array($commande)) { $COM_Id = $tab['COM_Id']; } ?> <META http-equiv="refresh" content="0; URL=affect_analyse.php?COM_Id=<?php echo $COM_Id ; ?>">
Pouvez-vous m'aider ?
A voir également:
- [PHP/SQL] Insérer un numéro dans une BdD
- Insérer une vidéo dans powerpoint - Guide
- Numero prive - Guide
- Numéro père noël whatsapp - Accueil - Messagerie instantanée
- Insérer signature word - Guide
- Insérer un espace insécable dans word - Guide