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 :

Probleme avec INSERT [MySQL]


Sujet :

PHP & Base de données

  1. #21
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Bon voici une partie de mon scripte apres modification mais il m'enregistre dans la premiere table tous les num separes par virgule et dans la seconde ou je veux qu'il insére les num chacun dans une colonne tout en gardant l'id de la premiere table (idMsg) il met rien
    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
    $numeros = trim($_POST["numArea"]);
    $msg = substr(trim($_POST["msgArea"]), 0, TAILLE_MSG);
    $dateExec = trim($_POST["dateExec"]);
     
    $_SESSION["msg"] = $msg ;
     
    if(empty($numeros) || empty($msg)) {
        $page->AbortNow("Vous n'avez pas saisi toutes les informations requises");
    } 
     // connexion à la base
    $db = mysql_connect('localhost', 'root', 'weFFF')  or die('Erreur de connexion '.mysql_error());
    // sélection de la base  
     
        mysql_select_db('web',$db)  or die('Erreur de selection '.mysql_error()); 
    $query = "INSERT INTO ".MSG_TB." (`date`, `dateExec`, `user`, `msg`, ".
                "`numeros`, `numerosHash`, `statutTraitement`) ".
                "VALUES(NOW(), '".$dateExec."', '".$_SESSION['user']."', '".
                mysql_escape_string($msg)."', '".$numeros."', '".
                md5("$numeros")."', '0')";
    $result = mysql_query($query)or die('Erreur SQL !'.$query.'<br>'.mysql_error());
    if(!$result)
         {
    	     //echo ('erreur');
             exit('erreur');
         }			
     
    $idMsg = mysql_insert_id();
    $numeros = explode(',', trim($_POST["numArea"]));
    $query = "INSERT INTO " . LISTDEST . " (`idMsg`,`destinataire`) ".
               "VALUES('$idMsg','".$numeros[0]."') ";
    $query = "INSERT INTO " . LISTDEST . " (`idMsg`,`destinataire`) ".
               "VALUES('$idMsg','".$numeros[1]."') ";
    $query = "INSERT INTO " . LISTDEST . " (`idMsg`,`destinataire`) ".
               "VALUES('$idMsg','".$numeros[2]."') ";
     
    $page->DbQuery($query);
    $page->PrintInfo("Votre requete a été sauvegardée et sera traitée après la date indiquée");
    Encore merci de votre aide

  2. #22
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Est ce qu'il y'a pas un autre moyens pour qu'il enregistre dans les 2 tables

  3. #23
    Membre expérimenté
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Par défaut
    Bonjour,

    Si je comprends bien ce que tu cherches à faire, tu veux enregistrer une liste de destinataires dans une table sous le format

    {IDMessage, Destinataire}

    Tu n'es donc pas très loin de la vérité. La seule chose c'est qu'il serait probablement plus pratique de faire une boucle dans ton cas:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $idMsg = mysql_insert_id();
    $numeros = explode(',', trim($_POST["numArea"]));
     
    foreach ($numeros as $numeroMessage)
    {
    $query = "INSERT INTO " . LISTDEST . " (idMsg,destinataire) ".
               "VALUES('" . $idMsg . "','". $numeroMessage . "')";
     
    mysql_query($query)or die('Erreur SQL !'.$query.'<br>'.mysql_error());
    }
    Essentiellement, ce que la boucle "foreach" fait, c'est de parcourir le tableau $numeros au complet et à chaque tour de boucle, la variable $numeroMessage va contenir un élément du tableau. C'est pratique courante dans ce genre de cas. Ensuite, quand tu veux exécuter une requête, il faut faire appel à mysql_query(). Je ne connaît personnellement pas $page->dbQuery .

    Donc, tente ta chance avec ça et on verra ce que ça va donner .

    Aussi, si tu veux bien t'assurer qu'il y a quelque chose dans le tableau $numeros, tu peux faire:

    Ça va t'afficher le contenu du tableau.

  4. #24
    Membre éclairé
    Inscrit en
    Juillet 2005
    Messages
    288
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 288
    Par défaut
    Youpiiiiiiiiiiii!!!! ca marche merci merci beaucoup osuwariboy,sauf kil insere le dernier num 2 fois en tout cas merci

  5. #25
    Membre expérimenté
    Inscrit en
    Mai 2010
    Messages
    177
    Détails du profil
    Informations forums :
    Inscription : Mai 2010
    Messages : 177
    Par défaut
    Tu as essayé de faire print_r($numeros) pour voir ce que contient effectivement le tableau $numeros? Peut-être que c'est dans ce tableau que le dernier numéro se trouve deux fois.

    Content d'avoir pu t'aider .

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

Discussions similaires

  1. Probleme avec INSERT INTO et select
    Par jmjmjm dans le forum Requêtes
    Réponses: 9
    Dernier message: 28/01/2007, 23h51
  2. [My SQL]probleme avec insert select
    Par jmjmjm dans le forum Langage SQL
    Réponses: 2
    Dernier message: 27/01/2007, 12h24
  3. probleme avec insert into
    Par bscorpion dans le forum Langage SQL
    Réponses: 5
    Dernier message: 05/07/2005, 14h00
  4. Problem avec insertion de l'heure
    Par moniphal dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 29/04/2005, 12h27
  5. [ADO.NET] Problème avec Insert dans base de données
    Par mpascolo dans le forum Accès aux données
    Réponses: 9
    Dernier message: 24/01/2005, 10h36

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