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 :

INSERT TO une valeur NULL [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par Budy123 Voir le message
    Effectivement j'ai été trop cite, maintenant il m'indique une erreur à la ligne
    On n'est pas plus avancé.
    Faut prendre l'habitude d'afficher des infos, comme le message d'erreur, on ne peut pas deviner.

    CURRENT_TIMESTAMP et une fonction mysql, donc modifie comme ceci : CURRENT_TIMESTAMP()

    Profite en pour rajouter :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $resultat = mysql_query($sql) or die('Une erreur : '.mysql_error());

  2. #22
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut
    Ok, j'avai mal placé le "}", je n'ai plus de message d'erreur mais il enregistre dans la base que la dernière entrée.

    Array
    (
    [0] => 564
    [1] => 586
    [2] =>
    [3] => 556
    )

    INSERT INTO commande VALUES (NULL, '556', CURRENT_TIMESTAMP, 'Jean-Claude',' Rezki', 'CEX', '2010-03-03', '3-03-10-13-16-14','Nacelle')
    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
     
    <?php //Connexion au serveur
    $connexion = mysql_connect("localhost", "root", "");
     
    //Selcetion dela base de donnee
    $base = mysql_select_db("dispatch");
     
    function test($data)
    {
        return(!empty($data) && $data != " ");
    }
     
    $commande = explode("\n",$_POST['requiredcommande']);
    echo '<pre>';
    print_r($commande);
    echo '</pre>';
    array_filter($commande, 'test');
     
    $date = date("Y-m-d");
    $heure = date("H:i:s");
    $today = date('j-m-y-H-i-s');
    $codebare = '*'.$today.'*';
    $dispatcheur = $_POST['requireddispatcheur'];
    $preparateur = $_POST['requiredpreparateur'];				
     
    foreach($commande as $index=>$value){
    	if (is_numeric($value) && (int)$value > 0) {
    		$sql = "INSERT INTO commande VALUES (NULL, '".
            (int)$value."', CURRENT_TIMESTAMP, '".
            $_POST['requireddispatcheur']."',' ".
            $_POST['requiredpreparateur']."', '".
            $_POST['requiredservice']."', '".
            $date."', '".$today."','".$_POST['requiredzone']."')";	
    				//
    				echo $sql.'<br />';
    				//														 
            //Execution de la requete
            $resultat = mysql_query($sql);
    	}	
     }

  3. #23
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    En faite, la fonction is_numeric() exclu toutes les valeurs qui ont un espace.

    Faut donc supprimer les éventuels espaces en faisant un trim() avant la vérification.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    foreach($commande as $index=>$value){
    	$value = trim($value);
    	if (is_numeric($value) && (int)$value > 0) {
    		... etc ...
    	}	
     }
    A savoir que les fonctions test() et array_filter() ne servent à pas à grand chose dans ton cas.
    La vérification is_numeric() + typage (int)$value suffit.

  4. #24
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut
    Excelent RunCodePhp, cela fonctionne très bien, le seul soucis c'est que l'on utilise is_numeric hors je peu etre amener à saisir du numéric et alphabetique
    Et donc il ne m'insere que les lignes numérique..

  5. #25
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    Citation Envoyé par Budy123
    Excelent RunCodePhp, cela fonctionne très bien, le seul soucis c'est que l'on utilise is_numeric hors je peu etre amener à saisir du numéric et alphabetique
    Et donc il ne m'insere que les lignes numérique..

    Avec tes exemples, il me semblait que $value ne pouvait pas être autre qu'un nombre.

    Et comme ceci ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    foreach($commande as $index=>$value){
    	$value = trim($value);
    	$nb = strlen($value);
    	if (!empty($value) && (int)$nb > 0) {
    		... etc ...
    	}	
     }

  6. #26
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut
    Avec ce code la donnée alphabétique donne '0'.

    Array
    (
    [0] => 25369
    [1] => FGE00054621-01
    [2] =>
    [3] => 78963
    )

    INSERT INTO commande VALUES (NULL, '25369', CURRENT_TIMESTAMP, 'Jean-Claude',' Jean-Claude', 'CEX', '2010-03-03', '3-03-10-15-03-59','Chariot')
    INSERT INTO commande VALUES (NULL, '0', CURRENT_TIMESTAMP, 'Jean-Claude',' Jean-Claude', 'CEX', '2010-03-03', '3-03-10-15-03-59','Chariot')
    INSERT INTO commande VALUES (NULL, '78963', CURRENT_TIMESTAMP, 'Jean-Claude',' Jean-Claude', 'CEX', '2010-03-03', '3-03-10-15-03-59','Chariot')

  7. #27
    Membre Expert Avatar de RunCodePhp
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    2 962
    Détails du profil
    Informations personnelles :
    Localisation : Réunion

    Informations forums :
    Inscription : Janvier 2010
    Messages : 2 962
    Par défaut
    As tu supprimé le 'typage' (int) qui "force" à retourner un numérique ici :
    $sql = "INSERT INTO commande VALUES (NULL, '".
    (int)$value."', CURRENT_TIMESTAMP, '". ... et ...
    Faut conserver juste $value comme au départ vu que ce n'est pas seulement un nombre.

    Faut vérifier aussi que le type de donnée pour ce champ dans la Bdd soit un type VARCHAR, et non un INT (ou autre dans le même genre). Sait on jamais.

  8. #28
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Décembre 2009
    Messages
    164
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2009
    Messages : 164
    Par défaut
    Impécable, ca fonctionne très bien j'avais effectivement pas enlevé le (INT), merci pour ta patiente.
    Sans vouloir abusé j'ai posté ce matin un autre problème concernant un format datetime, et personne ne ma répondu, si tu pouvais m'aider se serait sympa...

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/05/2011, 12h40
  2. Insertion d'une valeur NULL
    Par Marc_27 dans le forum Accès aux données
    Réponses: 3
    Dernier message: 05/08/2010, 09h10
  3. [MySQL] Insertion d'une valeur nulle, PHP->MySQL
    Par mattyeux dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/04/2010, 14h43
  4. Insertion d'une valeur null pour une colonne
    Par bigggalll dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 24/03/2010, 15h01
  5. pb d'insertion d'une valeur null
    Par new_wave dans le forum SQL
    Réponses: 7
    Dernier message: 16/10/2007, 18h51

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