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

Requêtes MySQL Discussion :

Problème de INT avec MySQL et PHP


Sujet :

Requêtes MySQL

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut Problème de INT avec MySQL et PHP
    Salut à tous

    Je fais un ptit truc pour m'occuper mais je rencontre un ptit soucis au niveau de l'insertion dans ma BDD.

    Je veux insérer un numéro de téléphone dans un champs l'insertion se passe sans soucis sauf sur un point: le numéro est sous la forme 0612389451 mais après l'insertion je vais jeter un coup d'oeil dans la BDD et je vois que le numéro s'est enregistré sous cette forme : 612389451.
    Le zéro n'est pas enregistré.

    Quelqu'un aurait-il une idée ?

    Voila mon script PHP
    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
    44
    45
    46
     
    <?php
     
    	include_once('../include/bd_config.inc.php');
     
    	if(isset($_REQUEST['valider']))
    		{
    		$nom = $_REQUEST['nom'];
    		$prenom = $_REQUEST['prenom'];
    		$numero = $_REQUEST['numero'];
     
    	$ReqIns = "INSERT INTO contact VALUES(DEFAULT, '".$nom."', '".$prenom."', 	".$numero.")";
     
    	mysql_query($ReqIns)
    		or die('Erreur de requête de base de données:'.mysql_error());
     
    ?>
     
    <html>
    <body>
    	<form>
    		<table>
    			<tr>
    				<td>Nom:</td>
    				<td><input name="nom" type="text"><b id="etoile">*</b></td>
    			</tr>
    			<tr>
    				<td>Prenom:</td>
    				<td><input name="prenom" type="text"></td>
    			</tr>
    			<tr>
    				<td>Numero:</td>
    				<td><input name="numero" type="text" maxlength="10"><b id="etoile">*</b></td>
    			</tr>
    			<tr>
    				<td><input name="valider" type="submit"></td>
    				<td><input name="clear" type="reset"></td>
    			</tr>
    			<tr>
    				<td></td>
    				<td><b id="etoile">*</b> : Champs obligatoires</td>
    			</tr>
    		</table>
    	</form>		
    <body>
    </html>

  2. #2
    Membre habitué Avatar de lou-03
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    156
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 156
    Points : 153
    Points
    153
    Par défaut
    Salut!

    Ce n'est pas ton code qui est faux.

    J'avais le même problème que toi, et je n'ai pas trouvé de réelles solutions si ce n'est que de mettre ton numéro en varchar au lieu de int.
    Tu peux aussi rajouter un '0' lorsque tu veux l'afficher.

    Après peut être qu'il existe des masques que tu peux mettre sur ton champ pour qu'il y mette automatiquement un zéro en début mais je ne les connais pas.

    J'espère avoir éclairé ta lanterne

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut Merci
    Merci je modifierais l'affichage ...
    Mais je pensais qu'il y aurait une solution à ce soucis

    Merci encore

  4. #4
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Un numéro de téléphone n'est pas un nombre pouvant faire l'objet de calculs. Tu as déjà additionné des numéros de téléphone toi ?

    Donc un numéro, un code, une référence... doivent être enregistrés dans des colonnes de type alphanumérique (CHAR ou VARCHAR), même s'ils ne sont composés que de chiffres.
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    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
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2009
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2009
    Messages : 42
    Points : 37
    Points
    37
    Par défaut
    Merci à toi c'est vrai que je ne l'avais pas vu de cette manière là ...

  6. #6
    Invité
    Invité(e)
    Par défaut
    Je déterre un peu le topic mais je me suis posé la même question pour un numéro de matricule et ca peut servir à d'autres.

    Au lieu de mettre ton champs en varchar, tu peu le définir en int(10) zerofill.
    Par exemple : zerofilled_int int(10) unsigned zerofill not null
    Comme ca, mysql comblera les avec des 0 pour arriver a 10 chiffres.

  7. #7
    Modérateur

    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 799
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    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 799
    Points : 34 031
    Points
    34 031
    Billets dans le blog
    14
    Par défaut
    Citation Envoyé par Kilay Voir le message
    Je déterre un peu le topic mais je me suis posé la même question pour un numéro de matricule et ca peut servir à d'autres.

    Au lieu de mettre ton champs en varchar, tu peu le définir en int(10) zerofill.
    Par exemple : zerofilled_int int(10) unsigned zerofill not null
    Comme ca, mysql comblera les avec des 0 pour arriver a 10 chiffres.
    Tu calcules le salaire des employés avec une formule mathématique qui dépend de leur matricule ?
    Non ?
    Alors un matricule, c'est du VARCHAR !

    Si dans l'avenir on décide que certains matricules (intégration d'une filiale par exemple) commenceront par une lettre, tu devras revoir ta BDD. Avec le VARCHAR, tu es couvert et c'est la conception qui découle de la logique !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole. Autoentrepreneur.
    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
    Invité
    Invité(e)
    Par défaut
    Oula, je n'ai pas dit que je l'avais utilisé au final (au vu de ce topic, je me suis ravisé), je dis juste que c'est une technique possible et expose donc comment faire pour des personnes qui aurait le cas (car c'est une des premières réponses lors d'une recherche "mysql int avec 0").

Discussions similaires

  1. Problème de connexion avec MySQL
    Par Tigrounette dans le forum JDBC
    Réponses: 2
    Dernier message: 18/05/2007, 18h54
  2. Réponses: 3
    Dernier message: 03/03/2007, 14h28
  3. autoincrementation avec mysql en php
    Par kaygee dans le forum Requêtes
    Réponses: 2
    Dernier message: 04/06/2006, 12h48
  4. Problème de login avec mysql
    Par Michaël dans le forum Installation
    Réponses: 4
    Dernier message: 01/11/2005, 18h53
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

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