[PHP] Script de remplissage de base de données

Script de remplissage de base de données [PHP] - PHP - Programmation

Marsh Posté le 03-10-2013 à 10:18:41    

Bonjour,  
Depuis une semaine je reprend un projet , un annuaire d'entreprise  genre facebook.
Mon soucis est que mon prédécesseur a construit le site avec joomla + jomsocial ( ce CMS est sympas  mais la base de donnée me fait des noeuds au cerveau).
 
Voila j'ai un très gros carnet d’utilisateurs ( 390 personnes ) à entrer . ils sont dans un fichier excel (format : $nom $prenom $id $mdp $organisation $fonction $role $mail $tel $port $adresse $ville )avec certains champs vides.
 
et la base de donnée ( généré par notre bon vieux joomla) est comme ceci:
 
---------------                  ----------------                       ----------------
user                                  fields_values                             fields
---------------                  ----------------                       ----------------
*user_id           __________ *user_id             ___________   *id
-alias                                 *field_id                                  -types
                                        -id(autoinc)                             -name
                                        -value
---------------                   ----------------                      ----------------
 
Voila donc j'ai simplifié le problème au maximum  
Mais ej reste bloqué sur l’implémentation de mon excel dans ma BD.
Je pense que du php serai le plus simple.
 
config:
-win7
-wamp2.4
-apache 2.4.4
-php 5.4.12
-mysql 5.6.12
 
merci d'avance pour toutes vos idées .


Message édité par benofdark le 03-10-2013 à 10:42:12
Reply

Marsh Posté le 03-10-2013 à 10:18:41   

Reply

Marsh Posté le 03-10-2013 à 13:30:59    

Un petit script d'import en php qui va lire ton fichier Excel, préalablement converti en CSV, ça sera vite fait ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 03-10-2013 à 14:06:52    

tu pourrai juste me dire comment différencier les champs dans le CSV car une vois que jai les champ et les requete sql jai plus qu'as faire un boucle qui lit le csv et qui INSERT INTO ^^ et accessoirement comment géré l'auto incrément dans la BDD.

Message cité 1 fois
Message édité par benofdark le 03-10-2013 à 14:09:27
Reply

Marsh Posté le 04-10-2013 à 09:46:14    

benofdark a écrit :

tu pourrai juste me dire comment différencier les champs dans le CSV car une vois que jai les champ et les requete sql jai plus qu'as faire un boucle qui lit le csv et qui INSERT INTO ^^ et accessoirement comment géré l'auto incrément dans la BDD.


Salut,
CSV : comma separated values.

 

En exportant en CSV ton excel, tu génèreras un fichier texte avec les valeurs dans l'ordre de tes champs excel séparées par des virgules.

 

id1, nom1,prenom1,etc.
id2,nom2,prenom2,etc.

 

A toi de lire de fichier texte ligne par ligne, puis, pour chaque ligne un $tmp=explode(',' $ligne) et tu auras $tmp[0] = ton id, $tmp[1] = nom etc.

 

Puis, la requête SQL... :)


Message édité par NewsletTux le 04-10-2013 à 09:46:51

---------------
NewsletTux - outil de mailing list en PHP MySQL
Reply

Marsh Posté le 04-10-2013 à 10:47:41    

Quand tu convertis un ficheir Excel en CSV, il me semble que le séparateur par défaut est le ; et d'autres logiciels comme FlameRobin utilise le tab comme séparateur (mais bon, ça reste un détail)...
 
Fonction utile : http://www.php.net/manual/fr/function.fgetcsv.php


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
Reply

Marsh Posté le 04-10-2013 à 11:04:46    

merci pour votre aide , mon script est en bonne voie

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed