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 :

insertion dans une table [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut insertion dans une table
    bonjour à vous tous,

    J'ai un tableau excel avec plusieurs lignes; quand je fais insert into table dans ma base de donnée ça marche bien mais le probleme et que il ne prend pas toutes les lignes il prend juste 165 enregistrements et moi je veux envoyer toutes les lignes vers ma table mysql.

    merci d'avance pour votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Sans voir un petit peu ce que tu fais, ca va être difficile de t'aider.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    merci pour votre reponse, bon voici le code pour inserer des donnes à partir du tableau excel à noter que j'ai deux fichier donc deux tableaux excel :

    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
     
    <?php 
    require_once('connect.php'); 
    $fichier = fopen("fichier1", "r");
    $fichier1 = fopen("fichier2", "r"); 
     
    while ((!feof($fichier)) && (!feof($fichier1)))
    { 
     
    // On recupere toute la ligne 
    $uneLigne = fgets($fichier, 1024); 
    $uneLigne1 = fgets($fichier1, 1024);
    //On met dans un tableau les differentes valeurs trouvés (ici séparées par un ';') 
    $tableauValeurs = explode(';', $uneLigne); 
    $tableauValeurs1 = explode(';', $uneLigne1); 
    // On crée la requete pour inserer les donner
     
    $sql2="INSERT INTO table1 VALUES ('".$tableauValeurs[0]."', '".$tableauValeurs[1]."','".$tableauValeurs[2]."','".$tableauValeurs[3]."','".$tableauValeurs[4]."','".$tableauValeurs[5]."','".$tableauValeurs[6]."')";
    $sql3="INSERT INTO table2 VALUES ('".$tableauValeurs1[0]."', '".$tableauValeurs1[1]."','".$tableauValeurs1[2]."','".$tableauValeurs1[3]."','".$tableauValeurs1[4]."','".$tableauValeurs1[5]."','".$tableauValeurs1[6]."')"; 
     
    $requete = mysql_query($sql2)or die (mysql_error());
    $requete = mysql_query($sql3)or die (mysql_error()); 
    // la ligne est finie donc on passe a la ligne suivante (boucle) 
    }
    //vérification et envoi d'une réponse à l'utilisateur 
    if ($requete) 
    { 
    echo"Ajout dans la base de données effectué avec succès";
    }
    else 
    { 
    echo"Echec dans l'ajout dans la base de données"; 
    }
    ?>

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Puisque ce sont des fichiers CSV, tu peux tirer avantage des fonctions prévues pour : fgetcsv()

    Pour le reste, le traitement simultané de deux fichiers et un peu hasardeux. Si les deux fichiers n'ont pas la même taille, tu vas lancer des insertions a vide.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    mai que dois-je faire exactement pour resoudre se probleme??? parce que je vien de debuter en php/mysql

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Traite un fichier puis l'autre et vois ce que ca donne.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    ok merci je vai essayer

  8. #8
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    je suis desole mai ça marche po

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Qu'as-tu essayé ? Qu'as-tu obtenu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    j'ai essayer d'envoyer juste un fichier à la place de deux; ça marche mai aussi au lieu de 165 enregistrement j'ai ebtenu cet foi 238 mai moi j'ai dans mon tableau excel 1804 voila

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu obtiens le message "Ajout dans la base de données effectué avec succès" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    oui ça marche et quand je vérifie la table dans la base de donnée je trouve que c plien mai just de 283 enregistrement pas plus.

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Est-ce que tu vides bien ta table entre deux essais ?

    Est-ce que tu verrais quelque chose de particulier sur la ligne qui n'est pas inseré ?

    Est-ce que tu pourrais nous montrer le fichier CSV en question ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Membre Expert Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Par défaut
    Bonjour,

    tu irais bien plus vite avec une commande MySQL faite pour !

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = 'LOAD DATA INFILE '.$fichier.' INTO TABLE tableX';

    Tout les paramètres sont ici

  15. #15
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    bonjour;
    merci pour votre reponses.
    bon pour repondre à votre question oui je vide ma table avant chaque remplissage. et pour lé lignes y'en a plusieures lignes qui sont po inseré. et j'arrive po à resoudre mon probleme.

  16. #16
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    merci Madfrix pour votre reponse.
    j'ai essayer avec cette commande :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query = 'LOAD DATA INFILE '.$fichier.' INTO TABLE tableX';
    mai ça marche pas je pense que c juste pour les fichiers txt moi j'ai un fichier csv.

  17. #17
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    un fichier csv est un fichier texte.

    Tu n'as pas répondu à mes questions donc inutile de verser des larmes.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  18. #18
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    j'ai repondis j'ai dis que je vide ma table avant de la remplir et pour les lignes qui sont pa inseré y a rien de particulier! et pour le fichier excel je peu pas le mettre, mais c'est un tabeau avec plusieurs ligne et colonnes.

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    et
    Est-ce que tu verrais quelque chose de particulier sur la ligne qui n'est pas inseré ?
    Est-ce que tu arrives a insérer seule la ligne posant problème ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre averti
    Inscrit en
    Juin 2009
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 58
    Par défaut
    L'insertion se fait au hasard; il y a des lignes qui sont insérées dans la tables et d'autres non.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. [ZEOSLIB] Problème Insertion dans une table
    Par moscovisci dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/06/2005, 12h05
  2. [interbase6]probleme d'insertion dans une table
    Par macadam314 dans le forum Bases de données
    Réponses: 10
    Dernier message: 22/02/2005, 14h21
  3. [Sybase] Temps d'une insertion dans une table
    Par vsavoir dans le forum Décisions SGBD
    Réponses: 5
    Dernier message: 14/02/2005, 10h04
  4. Extraction d'un .txt et Insertion dans une table
    Par PoPmiSiR dans le forum Access
    Réponses: 8
    Dernier message: 28/10/2004, 19h13
  5. Détection insertion dans une Table
    Par abelman dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/07/2004, 14h24

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