Importation partielle

Eléphant du PHP | 58 Messages

03 sept. 2015, 19:36

Salut les pachydermes.

Gros et éternel débutant en PHP et MySQL je me tourne à nouveau vers vous.

Je suis face à un problème mais je n'arrive pas à le formuler assez clairement pour qu'un moteur de recherche me comprenne. J'ai une base de données (géré via phpMyAdmin), et j'avais exporté une table. J'ai joué un peu avec mes données sous libreoffice calc (je suis à l'aise dessus) pour obtenir de nouvelles valeurs pour certaines colonnes. Au lieu de refaire un fichier CSV de toute la table, j'aimerais en faire un avec juste la clef primaire et les colonnes modifiées, et l'importer de façon à mettre à jour la table.

Comment faire donc?

Merci d'avance.

Mammouth du PHP | 2703 Messages

03 sept. 2015, 19:43

le plus simple, tout réimporter.
sinon, importer ce fichier dans une nouvelle table, et faire un script php qui va lire le contenu de cette nouvelle table et faire les update sur la vraie table.

Eléphant du PHP | 58 Messages

03 sept. 2015, 22:50

C'est en effet ce que je vais finir par faire (et d'ailleurs ce que je fais d'habitude), je pensais qu'il y avait une manip simple à faire.

Du coup un autre problème se pose. Lors de l'importation il me dit que le nombre de colonnes est invalide à la ligne 1.. J'ai regardé dans le fichier CSV, il n'y a aucun caractère terminant la ligne. Ca ne m'a jamais fait ça, je me demande à quoi c'est du mais surtout comment régler le problème, je ne peux ajouter manuellement un ; à plus de 1000 lignes!

Eléphant du PHP | 51 Messages

04 sept. 2015, 18:57

Ca doit etre possible de bidouiller en éditant le .csv avec un éditeur de texte, en faisant un chercher/remplacer de la fin de ligne ("\n" ou "\r\n") est de le remplacer en ajoutant ";" juste avant.