1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127
|
<html>
<body>
<?
/*Informations d'acces a la base de donnees*/
$hote="localhost";
$base="base";
$utilisateur="oimy";
$pass="pass";
/*Connection a la base de donnees*/
$sql_objet=mysql_connect($hote,$utilisateur,$pass) or die('Echec de la connexion à la base de donnée');
mysql_select_db("$base") or die('Connexion à la base de donnée réussie mais table manquante ou endommagée');
/*Requetes de creation des donnees de la base*/
$requete = "CREATE TABLE IF NOT EXISTS `table_bib_test_ol` (
`indice` int(11) NOT NULL AUTO_INCREMENT,
`component_reference` varchar(50) NOT NULL,
`manufacturer` varchar(50) NOT NULL,
`function` varchar(50) NOT NULL,
`package` varchar(50) NOT NULL,
`generic` varchar(50) NOT NULL,
`advanced_package` varchar(50) NOT NULL,
`value` varchar(50) NOT NULL,
`tolerence` varchar(50) NOT NULL,
`nb_pins` varchar(50) NOT NULL,
`pitch` varchar(50) NOT NULL,
`voltage` varchar(50) NOT NULL,
`current` varchar(50) NOT NULL,
`wattage` varchar(50) NOT NULL,
`frequency` varchar(50) NOT NULL,
`size_x` varchar(50) NOT NULL,
`size_y` varchar(50) NOT NULL,
`height` varchar(50) NOT NULL,
`description` varchar(500) NOT NULL,
`datasheet` varchar(250) NOT NULL,
`schema` varchar(250) NOT NULL,
`ibis` varchar(50) NOT NULL,
`spyce` varchar(50) NOT NULL,
`d3` varchar(50) NOT NULL,
`pcb` varchar(50) NOT NULL,
`thermique` varchar(50) NOT NULL,
PRIMARY KEY (`indice`)
);\n";
/*Envoi de la requete*/
$resultat = mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
$cpt=1;
/*Ouverture du fichier*/
$fp=fopen("fichier.csv","r");
$cpt_tmp=0;
/*Lecture du fichier*/
while (!feof($fp))
{
$ligne = fgets($fp,4096);
// on crée un tableau des élements séparés par des points virgule
$liste = explode(";",$ligne);
$liste[0] = ( isset($liste[0]) ) ? $liste[0] : Null;
$liste[1] = ( isset($liste[1]) ) ? $liste[1] : Null;
$liste[2] = ( isset($liste[2]) ) ? $liste[2] : Null;
$liste[5] = ( isset($liste[5]) ) ? $liste[5] : Null;
$liste[7] = ( isset($liste[7]) ) ? $liste[7] : Null;
$liste[8] = ( isset($liste[8]) ) ? $liste[8] : Null;
$liste[9] = ( isset($liste[9]) ) ? $liste[9] : Null;
$liste[10] = ( isset($liste[10]) ) ? $liste[10] : Null;
$liste[11] = ( isset($liste[11]) ) ? $liste[11] : Null;
$liste[12] = ( isset($liste[12]) ) ? $liste[12] : Null;
$liste[13] = ( isset($liste[13]) ) ? $liste[13] : Null;
$liste[14] = ( isset($liste[14]) ) ? $liste[14] : Null;
$liste[15] = ( isset($liste[15]) ) ? $liste[15] : Null;
$liste[16] = ( isset($liste[16]) ) ? $liste[16] : Null;
$liste[51] = ( isset($liste[51]) ) ? $liste[51] : Null;//status web
$champs0=$liste[7];//component_reference
$champs1=$liste[8];//manufacturer
//Traitement des donnees
$champs24="-";//thermique
$verif=$liste[0];
// pour eviter qu un champs "nom" du fichier soit vide
$verif=$liste[0];
if($temp!='CAO' && $liste[51]=='DEV_IN' && $verif!='' && $verif!='OKT_ANA00_BGA_000' && $verif!='PART_NO' && $verif[0]!='#')
{
$cpt++;
$requete="INSERT INTO table_bib_test_ol(`indice`,`component_reference`,`manufacturer`,`function`,`package`,`generic`,`advanced_package`,`value`,`tolerence`,`nb_pins`,`pitch`,`voltage`,`current`,`wattage`,`frequency`,`size_x`,`size_y`,`height`,`description`,`datasheet`,`schema`,`ibis`,`spyce`,`d3`,`pcb`,`thermique`) VALUES('','$champs0','$champs1','$champs2','$champs3','$champs4','$champs5','$champs6','$champs7','$champs8','$champs9','$champs10','$champs11','$champs12','$champs13','$champs14','$champs15','$champs16','$champs17','$champs18','$champs19','$champs20','$champs21','$champs22','$champs23','$champs24');\n"; mysql_query($requete) or die ('Erreur '.$requete.' '.mysql_error());
$cpt_tmp++;
}
if($cpt_tmp>300)
{
//Fermeture de la base de donnees
mysql_close($sql_objet);
/*Connection a la base de donnees*/
$sql_objet=mysql_connect($hote,$utilisateur,$pass) or die('Echec de la connexion à la base de donnée');
mysql_select_db("$base") or die('Connexion à la base de donnée réussie mais table manquante ou endommagée');
$cpt_tmp=0;
echo "$cpt ,";
}
}
// fermeture du fichier
fclose($fp);
//Fermeture de la base de donnees
mysql_close($sql_objet);
echo "<br> OK pour $cpt lignes"
?>
</body>
</html> |
Partager