Ajout données dans une bas SQL

Eléphant du PHP | 424 Messages

22 mars 2007, 12:51

Bonjour,

Je fais installer dans le cadre de mon activité professionnel un logiciel pour la gestion de mes contrats d'assurances.

Ma base de données clients, contrats et sinistres seront donc sur un ordinateur serveur avec sauvegarde auto etc... l'installateur professionnel du logiciel m'indique que dans le cadre des sauvegardes il est possible de transférer un fochier .csv ou autre format comportant les données à insérer dans ma base sql sur mon serveur ftp.

Je souhaite donc créer un site internet ou mes clients puissent consulter leurs contrats...etc...

mais comment dois je procéder pour alimenter ma base sql à partir d'un fichier .csv sur mon serveur ftp.

J'espere ne pas avoir été trop confus !
Merci pour votre aide.
Youpi Youpi Yo !

Eléphant du PHP | 136 Messages

22 mars 2007, 17:03

tu dois créer une base mysql sur ton serveur (voir les instructions de ton hébergeur)
ensuite tu crées une table dans cette base avec les mêmes champs que ton fichier csv
tu te rends sur ton serveur mysql via l'interface phpmyadmin qui fait partie de tout hébergement digne de ce nom et là tu as une option menu "insérer un fichier CSV." (l'hébergeur te fournira tous les codes nécessaires à cette connexion)
l'utilisation est très intuitive.
le ftp n'entre pas en ligne de compte dans cette opération
L'informatique apporte des solutions à des problèmes qui ne se posaient pas avant qu'elle existe.

Eléphant du PHP | 424 Messages

22 mars 2007, 21:29

Oui merci pour ta réponse mais cette façon est manuelle ! moi je souhaite une solution automatique...

Par exemple 1 fois par jour ma base sql ce met à jour...
Youpi Youpi Yo !

Eléphant du PHP | 136 Messages

23 mars 2007, 10:36

en ce cas ta base mysql étant créée tu fais un script qui lit ton fichier CSV champ par champ
if ($myFile = fopen($mon_fichier.csv","r"))
{
while(!feof($myFile))
{
$myField = fgetcsv($myFile,500);

ici requête mysql introduisant chaque champ du CSV dans chaque champ correspondant de ta base avec $myField[0] dans champ0 , $myField[1] dans champ1 etc..
soit par INSERT si c'est un enregistrement nouveau ou par UPDATE si c'est une mise à jour

}
}
L'informatique apporte des solutions à des problèmes qui ne se posaient pas avant qu'elle existe.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

23 mars 2007, 12:03