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 :

importation via phpmyamin


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    je gère le site d'une association
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : je gère le site d'une association
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut importation via phpmyamin
    Bonjour,
    Mes connaissances en matière de BdD avancent à pas de loup.
    Mais bon, j'en suis à tenter d'importer un fichier "xlsx" dans une table de ma base de donnée.
    Compte tenu du fait qu'il n'y a pas d'option d'importation de fichier "xlsx", j'ai tenté le coup avec une conversion de mon fichier "xlsx" en "csv"... cela ne fonctionne pas.
    J'ai donc converti mon fichier "xlsx" en document "ods" (qui est l'une des formes autorisées dans phpmyadmin) et ... ma table était complétée par les données de nos membres.
    Sauf que la colonne id (clé primaire) était vide ainsi que celle contenant les adresses email de nos membres.
    D'où mes questions :
    une colonne destinée recevoir des adresses email doit-elle contenir des données d'un "type" particulier (moi j'avais mis "varchar") ?[/LIST]
    une colonne "id" (clé primaire) doit-elle contenir des données d'un "type" particulier ?

    Je suis les instructions d'un bouquin intitulé "PHP & MySQL pour les nuls", mais je dois être plus nul que nul !!! ou je vais plutôt chercher d'autres sources d'information, sur votre site.

    D'avance merci pour votre collaboration.

    André
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 351
    Par défaut
    Citation Envoyé par loustalou1 Voir le message
    une colonne destinée recevoir des adresses email doit-elle contenir des données d'un "type" particulier (moi j'avais mis "varchar") ?
    varchar est le type adapté adapté pour une colonne qui stocke des adresses mail.

    Citation Envoyé par loustalou1 Voir le message
    une colonne "id" (clé primaire) doit-elle contenir des données d'un "type" particulier ?
    Très souvent on utilise un nombre entier auto incrémenté (comme c'est le cas sur la table "membre"), lors de l'insertion il n'est pas nécessaire de préciser une valeur car c'est MySQL qui la choisira en fonction des valeurs déjà utilisées (sauf si la table est vidée sans réinitialiser la valeur de l'AUTO_INCREMENT).

    Citation Envoyé par loustalou1 Voir le message
    Mais bon, j'en suis à tenter d'importer un fichier "xlsx" dans une table de ma base de donnée.
    Compte tenu du fait qu'il n'y a pas d'option d'importation de fichier "xlsx", j'ai tenté le coup avec une conversion de mon fichier "xlsx" en "csv"... cela ne fonctionne pas.
    J'ai donc converti mon fichier "xlsx" en document "ods" (qui est l'une des formes autorisées dans phpmyadmin) et ... ma table était complétée par les données de nos membres.
    Sauf que la colonne id (clé primaire) était vide ainsi que celle contenant les adresses email de nos membres.
    Je pense que le format CSV est préférable car il ne contient que du texte (attention par contre à l'encodage lors de l'export depuis le .xlsx, le plus simple étant d'utiliser partout UTF-8).
    Dans phpMyAdmin, il faut préciser les options spécifiques au format, c'est à dire les caractères de séparation des colonnes, etc... mais aussi il est surtout possible de lister le nom des colonnes dans le cas où les colonnes du fichier CSV ne soient pas dans le même ordre que celle de la table en base.
    Après si besoin voici un tutoriel vidéo (en anglais) qui date un peu mais qui montre comment à partir d'un fichier .xlslx générer un .csv et l'importer dans une table contenant déjà des données :

  3. #3
    Membre habitué
    Homme Profil pro
    je gère le site d'une association
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : je gère le site d'une association
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut
    Bonjour,
    Merci Thomas pour cette prompte et fructueuse intervention.

    André

  4. #4
    Membre habitué
    Homme Profil pro
    je gère le site d'une association
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : je gère le site d'une association
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut
    Bonjour,
    J'ai encore une question concernant l'importation de données dans la table de la base de données.
    Lors de l'importation des données je reçois un message d'erreur m'indiquant que le nombre de colonnes du fichier ".csv" ne correspond pas à celui de la table.
    Faut-il que ce nombre soit exactement le même ? Et dans l'affirmative doit-elle être vide dans le fichier ".csv", ou la colonne "id" (clé primaire) ne doit-elle exister que dans la table. J'ai essayé plusieurs options mais cela ne fonctionne pas.
    Dans certains cas, j'ai le message d'erreur "nombre de colonnes différent", et dans d'autres cas la colonne "id" de la table reste désespérément vide.

    D'avance merci pour votre soutien.

    André

  5. #5
    Membre chevronné
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    351
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 351
    Par défaut
    Oui il faut que le .csv contienne le même nombre de colonne que la table de la base de données.

    Je viens de faire un essai avec un CSV contenant les colonnes suivantes : id, champ1, champ2, champ3
    Seules les colonnes des champs ont des valeurs, la colonne id est vide, lors de l'import dans une table (id, champ1, champ2, champ3), les données s'importe correctement et les id sont correctement auto-générés par MySQL.

    Donc le plus simple c'est de laisser vide la colonne id et/ou les colonnes/cellules qui n'ont pas de valeur tout en aillant le même nombre de colonne entre le .csv et la table (l'ordre peut être modifié lors de l'import via l'option "Nom des colonnes).

  6. #6
    Membre habitué
    Homme Profil pro
    je gère le site d'une association
    Inscrit en
    Mars 2019
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 79
    Localisation : France, Lot (Midi Pyrénées)

    Informations professionnelles :
    Activité : je gère le site d'une association
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Mars 2019
    Messages : 11
    Par défaut
    Une fois encore... merci Thomas. Je vais essayer.

Discussions similaires

  1. Problèmes d'importation via DTS de Sql server2000
    Par bigey3 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 10/01/2008, 16h20
  2. [FTP] Export et Import via FTP distant
    Par npirard dans le forum Langage
    Réponses: 1
    Dernier message: 11/09/2007, 20h39
  3. export import via TOAD
    Par big1 dans le forum Toad
    Réponses: 0
    Dernier message: 21/08/2007, 16h08
  4. importation via excel
    Par pat1545 dans le forum Access
    Réponses: 4
    Dernier message: 02/08/2006, 16h24
  5. Importer via asp.net c# des variables dans mon namespace xsl
    Par akaii dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/01/2006, 08h41

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