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 :

Copier une table vers une autre avec donnée dans un champ supplémentaire


Sujet :

Requêtes MySQL

  1. #1
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut Copier une table vers une autre avec donnée dans un champ supplémentaire
    Bonjour et joyeuses fêtes de pâques.

    J'ai une table commentaire d'une base mysql qui fonctionne bien. Il manque le champ langue. J'ai déjà des données sur cette table et j'aimerais la copier vers la nouvelle table et remplir le champ langue par 'fr'.
    Voici mon code. Le seul problème est que la copie s'arrête après 21 enregistrements. Je ne comprends pas. Pourtant, il y en a 96.
    D'avance je vous remercie beaucoup.

    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
    47
    48
    49
    50
    51
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Document sans titre</title>
    </head>
     
    <body>
     
     
    <?php
    function mysqlDB_connect()
    {
    $mysqlDB_link = mysql_connect("localhost", "hugues", "dRoi0104");
    mysql_select_db("db", $mysqlDB_link);
    if (!$mysqlDB_link) 
    {
    exit("Échec de la connexion ");
    }
    return $mysqlDB_link;
    }
    $ID = 1;
    $lang = 'fr';
    $enregistrement = 1;
     
    mysqlDB_connect();
    $requete = " SELECT * FROM commentaire ";
    $req = mysql_query($requete) or die("Une erreur pendant le traitement");
    $totalRows_rsReference = mysql_num_rows($req);
    while($item = mysql_fetch_array($req)) 
    { 
     $IDT = $item['ID'];
     $titre = $item['titre'];
     $nom = $item['nom'];
     $pays = $item['pays'];
     $contenu = $item['contenu'];
     
    $sql = "INSERT INTO commentaire1(nom, pays, titre, contenu, lang) VALUES('$nom', '$pays', '$titre', '$contenu', 'fr')";
    mysql_query($sql);
     
     
     }
     
     
     
    ?><br />
    <br />
     
    <a href="test.php">cliquer pour démarrer la copie</a>
    </body>
    </html>
    Je sais que je ne sais rien

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 014
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 014
    Points : 23 702
    Points
    23 702
    Par défaut
    Bonjour,

    Vu qu'on est sûr un forum MySQL (et pas PHP), on va tout faire en une seule requête sous MySQL (pas besoin de PHP pour faire ça) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO commentaire1 (nom, pays, titre, contenu, lang)
    SELECT nom, pays, titre, contenu, 'fr' AS lang
    FROM commentaire;
    Quant à savoir pourquoi votre traitement s'arrête à la ligne 21, aucune idée sans voir ce qu'il y a à cette ligne là, mais sûrement un retour chariot ou des apostrophes de le contenu à cette ligne-là... C'est une question pour un forum PHP (mais regardez d'abord ce qu'il y a à cette ligne...).
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre habitué Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Points : 153
    Points
    153
    Par défaut
    Merci beaucoup ça marche. Vous êtes génial.
    Bonne soirée
    Je sais que je ne sais rien

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

Discussions similaires

  1. Copier un enregistrement d'une table vers une autre avec case à cocher
    Par myrddin99 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 01/05/2012, 11h44
  2. Réponses: 1
    Dernier message: 19/10/2011, 12h13
  3. Copier les enregistrements d'une table vers une table d'une autre DB
    Par karinette21 dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 18/11/2008, 21h50
  4. Réponses: 4
    Dernier message: 29/08/2008, 12h25
  5. Réponses: 4
    Dernier message: 21/06/2007, 19h14

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