IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

espace dans la colonne des données dans la bdd [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Par défaut espace dans la colonne des données dans la bdd
    Bonjour,
    j'ai un soucis avec l'insert dans ma bdd..je m'explique quand je fais un insert avec mon formulaire tout ce passe bien mais dans ma bdd un espace se créait sur la gauche ce qui me pose problème..je sais qu'il faudrait que j'utilise LTRIM, mais je ne sais pas comment et où le mettre dans mon code..voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    <?php          
            if (isset($_POST['UF'])               
    		and isset($_POST['SERVICE'])
            and isset($_POST['SORTIE_STOCK'])
            and isset($_POST['CARTOUCHE'])
            and isset($_POST['DATE_SORTIE']))  
              {          
                $uf=$_POST['UF'];
                $service=$_POST['SERVICE'];   
                $sortie_stock=$_POST['SORTIE_STOCK']; 	
                $cartouche= $_POST['CARTOUCHE'];
                $date_sortie= $_POST['DATE_SORTIE'];
     
    				// Gestion de la déconcaténation 
                     $tab     = explode("-",$_POST['UF-SERVICE']);
                     $uf      = $tab[0];
                     $service = $tab[1];                             
     
            $requete = "SELECT * FROM servcart WHERE cartouche='".$cartouche."' && uf='".$uf."' && service='".$service."' order by service " ; 
            $req = mysql_query($requete) or die( mysql_error() ) ; 
     
            $res= mysql_num_rows($req); 
     
            if ($res !=0)
                 { 
    	    echo'<span style="color:red;">Cette cartouche est déjà attribué à ce service.<br /><br/></span>';	 	 		 
     
                 }	
            else
                {							
            $requete1="INSERT INTO servcart(uf,service,cartouche,sortie_stock,date_sortie) VALUES('$uf','$service','$cartouche','$sortie_stock',NOW())";               
            $req1 = mysql_query($requete1) or die( mysql_error() ) ;
     
                echo '<span style="color:green;">Ajout terminé !! <br /><br /></span>';	
                }		                          
               $requete2 = "UPDATE cartouches SET en_stock = en_stock-1 WHERE cartouche = '$cartouche' " ;  		             
               $req2= mysql_query($requete2) or die( mysql_error() ) ;
     
               $requete3 = "UPDATE services SET sortie_stock = sortie_stock+1 WHERE sortie_stock = '$sortie_stock' " ; 
               $req3 = mysql_query($requete3) or die( mysql_error() ) ;	
     
    		    }           
         ?>
    Merci pour votre aide

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Par défaut
    Bonsoir.

    Perso j'utilise trim pour supprimer les espaces en début et en fin de chaîne mais bon ça marche pareil.

    Il suffit juste d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $uf = ltrim($_POST['UF']);
    Après il faudrait peut-être savoir d'où vient cet espace en premier

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Par défaut
    Bonjour p4ndore,
    Cette espace vient que dans mon formulaire pour une liste déroulante contient une concaténation uf+service mais je fais un explode pour l'insertion comme tu peux le voir dans le code que j'ai fourni,le faîte d'avoir ce décalage me fais des doubblons dans une liste déroulante dans une autre page malgré un distinct dans mon select de cette page..je viens d'essayer ton code mais cela n'a rien changé...

  4. #4
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Tu peux expliquer plus en détail ton phénomène d'ajout d'espace par ton formulaire ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2011
    Messages
    92
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 92
    Par défaut
    Tu as bien mis ltrim() à toutes les variables (uf, service...) ?

    En regardant un peu mieux tu as :
    $uf=$_POST['UF'];
    $service=$_POST['SERVICE'];
    .......
    $tab = explode("-",$_POST['UF-SERVICE']);
    $uf = $tab[0];
    $service = $tab[1];
    Une de ces parties n'est-elle pas inutile ?

    Tu fais un test pour vérifier $_POST['UF'] mais pas $_POST['UF-SERVICE']

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Par défaut
    Pour CinePhil,j'ai une page avec un tableau de données de ma bdd,dans cette page, j'ai un lien qui m'ouvre un formulaire d'insertion avec 2 listes déroulantes ,un champs texte,un champs date,dans une des liste déroulantes j'ai une concaténation que je déconcane pour inserer dans mon tableau et ma base,l'insert ce passe bien..après quand je regarde ma bdd la colonne une donnée est décalée dans la colonne ex :
    uf services date
    124 ...Archives 2011/08/09

    J'ai mis les petits points pour le décalage
    Ce qui a pour effet dans une autre page j'ai une liste déroulante qui récupère sur la même table les données mais cette fois ci pas de contaténation juste le service dans la liste et cela me fait un insert dans cette liste du service que je viens d'inserer donc doublons....triplons...alors que j'ai mis un distinct dans cette liste
    et pour p4ndore l'explode j'en ai besoin pour l'insert...

  7. #7
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Je suppose que c'est le code de concaténation qui insère un espace et qui n'est pas retiré lors de la déconcaténation ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Par défaut
    j'y est bien pensé..mais comment gérer cela...car si je ne défais pas la concaténation et déconcaténation mes colonne sont vides

  9. #9
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Ben il faut que tu vires les espaces inutiles dans la variable qui alimente la requête INSERT. Je crois que le code t'a été donné plus haut.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Par défaut
    j'ai fait lstrim sur uf et service dans mon post mais pas de changement...où ce trouve mon erreur?????

  11. #11
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Tu peux poster ton nouveau code ?
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Août 2009
    Messages
    56
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2009
    Messages : 56
    Par défaut
    c'est bon cela fonctionne,il y avait une erreur dans ma concaténation de ma liste déroulante espace en trop ensuite j'ai corrigé les déclarations en double de variables et j'ai ajouter ltrim dans mon explode et cela marche nickel...merci à vous deux pour vos remarques pertinentes qui m'ont aidé..

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. changer la valeur des données dans une colonne excel et les trier
    Par thewind1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2011, 22h35
  2. [XL-2003] Comment filtrer des données dans 2 colonnes ?
    Par adameteve dans le forum Excel
    Réponses: 7
    Dernier message: 24/09/2009, 12h17
  3. [DeskI V5-V6] Mise à jour auto des données dans la colonne variation
    Par lenka33 dans le forum Débuter
    Réponses: 17
    Dernier message: 31/08/2009, 12h09
  4. [JTable] Personnaliser l'insertion des données dans une colonne
    Par grospatapouf dans le forum Composants
    Réponses: 0
    Dernier message: 15/10/2008, 08h34
  5. Mise à jour des données dans une colonne
    Par BZH75 dans le forum SQL
    Réponses: 9
    Dernier message: 09/01/2008, 16h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo