| EasyPhP | |
|
|
Auteur | Message |
---|
psaikopat Langue vivante
Nombre de messages : 1082 Localisation : Champlitte (Champi ) => Haute-Saone (personne c ou c !!) Date d'inscription : 16/11/2004
| Sujet: EasyPhP Mar 31 Mai à 16:40 | |
| Bon alors voila j'ai un fichier xls, contenant plin de truc!!! Sur 3 colones! Je veu tout insérer dans une table... Tout ça dans EasyPhp !! Comment faire car les format doivent etre de cette forme : - SQL : - Citation :
- # --------------------------------------------------------
# # Structure de la table `article` #
CREATE TABLE `article` ( `Code_Article` varchar(7) NOT NULL default '', `Libelle_Article` varchar(255) NOT NULL default '', `Code_Famille` char(2) NOT NULL default '', KEY `Code_article` (`Code_Article`) ) TYPE=MyISAM;
# # Contenu de la table `article` #
INSERT INTO `article` VALUES ('0642921', 'QT ZERO Non monté a Peindre', '2'); INSERT INTO `article` VALUES ('0585001', 'ARPEGE Diam. 122 B', '3'); - Données CSV pour Ms Excel : - Citation :
- "0642921","QT ZERO Non monté a Peindre","2"
"0585001","ARPEGE Diam. 122 B","3"
- Données CSV : - Citation :
- "0642921";"QT ZERO Non monté a Peindre";"2"
"0585001";"ARPEGE Diam. 122 B";"3" "Chemin";"\Frmagcordc1CommunEtudes & Methodesnot-etiqEtiquettes_lp"
- XML : - Citation :
- <!-- Table article -->
<article> <Code_Article>0642921</Code_Article> <Libelle_Article>QT ZERO Non monté a Peindre</Libelle_Article> <Code_Famille>2</Code_Famille> </article> <article> <Code_Article>0585001</Code_Article> <Libelle_Article>ARPEGE Diam. 122 B</Libelle_Article> <Code_Famille>3</Code_Famille> </article>
Comment pourrai je faire? J'ai pas envie de me taper 5000 lignes a taper... | |
|
| |
playmobitch Langue vivante
Nombre de messages : 662 Localisation : dans ton c.. Date d'inscription : 05/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 16:53 | |
| et bien "import donnees excel easyphp" sur google te donne un premier lien interessant... je pense que ca correspond a ce que tu veux faire | |
|
| |
PierrePEON Langue vivante
Nombre de messages : 1276 Date d'inscription : 05/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 16:58 | |
| alors que taper "guacamol sauvage" par exemple, ben ça te servirait à rien... | |
|
| |
MichaeL Langue vivante
Nombre de messages : 673 Date d'inscription : 17/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 16:58 | |
| en fait que ce soit easyphp ou pas, tout passera par phpMyAdmin, conecte toi dessus, il me semble qu'il ya la possibilité d'importer depuis du CSV ou du XML...ou bien, joue le warrior et programme un bout de code qui transformera ton XML ou CSV en requete SQL..facile | |
|
| |
MichaeL Langue vivante
Nombre de messages : 673 Date d'inscription : 17/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 17:03 | |
| - The Bauer Of Love a écrit:
- alors que taper "guacamol sauvage" par exemple, ben ça te servirait à rien...
t'as essayé au moins ? | |
|
| |
PierrePEON Langue vivante
Nombre de messages : 1276 Date d'inscription : 05/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 17:13 | |
| oui !!! je donne que des sources fiables !!!! | |
|
| |
Choub Langue vivante
Nombre de messages : 325 Date d'inscription : 05/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 17:16 | |
| je serai toi je ferai un petit script php qui lit ton fichier CSV, qui le parse et qui inscrit directement les valeurs dans la base de donnée. C'est pas compliqué a faire, faut juste utiliser une fonction split pour séparer tes valeurs entre virgules, et de chercher le caractère \r ou \n ou \r\n (suivant systeme) pour chaque fin de ligne du fichier CSV. En gros un truc dans le genre : - Code:
-
<? $mysql_link = mysql_connect($Hote, $Login, $Pass_mysql) or die("Connection impossible !" . mysql_error()); mysql_select_db($Base);
$path = "list.csv"; $file = fopen($path, "r"); $string = fread($file, filesize($path)); $table = split("\n",$string ); for($i=1; $i<count($table); $i++) { $table[$i] = split(";", $table[$i]);
$query = "INSERT INTO ..."; $mysql_result = mysql_query($query, $mysql_link);
} fclose($file); ?>
Pour utiliser ça, ya deux choses à faire. La variable $table est un tableau contenant chaque ligne de ton fichier CSV. $table[0] te donne la premiere ligne, et ainsi de suite. La premiere ligne dans la boucle sert à transformer la chaine $table[$i] en tableau contenant chaque valeur de ta ligne dans une case, le tout dans l'ordre d'apparition dans le CSV. Ensuite il ne reste plus qu'a inscrire directement dans la base les nouvelle valeurs en faisant : - Code:
-
query = "INSERT INTO table VALUES('".$table[0]."', '".$table[1]."', ...)" Et ya plus qu'a lancer... J'ai eu à faire ça aussi, c pour ça que j'ai un script à te filer | |
|
| |
Choub Langue vivante
Nombre de messages : 325 Date d'inscription : 05/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 17:20 | |
| Attention c'est fait pour les fichier CSV normaux, c a d avec comme séparateur le point virgule ";" | |
|
| |
Choub Langue vivante
Nombre de messages : 325 Date d'inscription : 05/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 17:22 | |
| En fait ton script devrai etre comme ça : - Code:
-
<? $mysql_link = mysql_connect($Hote, $Login, $Pass_mysql) or die("Connection impossible !" . mysql_error()); mysql_select_db($Base);
$path = "list.csv"; $file = fopen($path, "r"); $string = fread($file, filesize($path)); $table = split("\n",$string ); for($i=1; $i<count($table); $i++) { $table[$i] = split(";", $table[$i]); $query = "INSERT INTO article VALUES('".$table[$i][0]."', '".$table[$i][1]."', '".$table[$i][2]."')"; $mysql_result = mysql_query($query, $mysql_link);
} fclose($file); ?>
C pas compliqué hein? 12 lignes et pas 5000
Dernière édition par le Mar 31 Mai à 17:27, édité 1 fois | |
|
| |
Choub Langue vivante
Nombre de messages : 325 Date d'inscription : 05/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 17:26 | |
| On pourrai meme faire un script générique ou il n'y aurai besoin que du nom de la table à mettre à jour, car on connait le nombre de valeurs de chaque ligne ( count($table[$i]) ), donc on peut écrire dynamiquement avec une boucle la requete SQL du style: - Code:
-
$query = "INSERT INTO article VALUES("'".$table[$i][0]."'"; for($j=1; $j<count($table[$i]); $j++) { $query .= ", '".$table[$i][$j]."'"; } $query .= ")";
Vraiment la programmation, c'est bien. Et là on comprends qu'un informaticien doit etre fainéant : j'ai eu à taper 15 lignes pour pouvoir passer n'importe quel fichier excel en request sql, plutot branleur comme système | |
|
| |
psaikopat Langue vivante
Nombre de messages : 1082 Localisation : Champlitte (Champi ) => Haute-Saone (personne c ou c !!) Date d'inscription : 16/11/2004
| Sujet: Re: EasyPhP Mar 31 Mai à 18:39 | |
| YEPA Merki !!! | |
|
| |
Contenu sponsorisé
| Sujet: Re: EasyPhP | |
| |
|
| |
| EasyPhP | |
|