Csv vers base de donnée

cs_fraisa1985 Messages postés 52 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 15 avril 2013 - 26 nov. 2008 à 23:28
ttaisant Messages postés 1 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 27 novembre 2008 - 27 nov. 2008 à 17:52
Salut a tous,

je veux faire une actualisation de ma base de donnée à partir d'une fichier csv.

Ma probléme que le fichier csv contient des données plus que ceux enregistrés dans ma base.

donc lorsque mon algorithme parcourit le fichier csv et ne trouve pas
une correspondance entre une champs du fichier csv s'arrete.

par exemple lorsque l'algorithme rencontre l'enregistrement 1200 avec
code 12000 et cherche ce code dans la base et ne le trouve pas une
erreur se produit .

Code :
 
<?php
require_once('Connections/yyy.php');
 
$row = 0;
$handle = fopen("base.csv", "r");
while(($data = fgetcsv($handle, 1000, ";")) !== FALSE)
{
$num = count($data);
$row++;

for($c=0; $c <2; $c++)
{mysql_query("UPDATE `hscode1` SET `OTHER` '".$data[1]."' WHERE `hscode1`.`code`".$data[0])or die("erreur de base de données");
}
 
}
 
fclose($handle);
mysql_close($yyy);
?>
 
 
 

Toute information sera le bien venue et merci d'avance.

Cordialement,

2 réponses

cs_fraisa1985 Messages postés 52 Date d'inscription jeudi 12 juillet 2007 Statut Membre Dernière intervention 15 avril 2013
27 nov. 2008 à 12:24
je sais bien qu'il faut Controler si l'element existe :

si oui : update

si non : insert
ma probléme est comment faire le controle de l'existence d'element ?
0
ttaisant Messages postés 1 Date d'inscription mardi 20 septembre 2005 Statut Membre Dernière intervention 27 novembre 2008
27 nov. 2008 à 17:52
partageons la connaissance afin quelle persiste !
/*

require_once('Connections/yyy.php');
 
$row = 0;
$handle = fopen("base.csv", "r");
while(($data = fgetcsv($handle, 1000, ";")) !== FALSE){

// requete pour verifier si les données existe déjà
$data_existe="SELECT * FROM `nom_table` WHERE `blah`='$data[0]' AND `blah`='$data[2]' AND `blah`='$data[4]' AND `blah`='$data[5]' ";

$get_result=mysql_query($data_existe);
$nbligne=mysql_num_rows($get_result); // on recupere le nombre de ligne renvoyer par le resultat de $get_result
$result_tableau=mysql_fetch_array($get_result); // on met les données dans un array()

if($nbligne>0){ // si resultat de la requete = à 0 alors on initialise la requete à un update
$id = $result_tableau[' 0 '];   // on recupere l'id pour le update
$modifier ="UPDATE `nom_table` SET `valeur` = '$data[6]' WHERE id='$id';";
$query=$modifier;  // on initialise la requete à un update

echo 'modification terminée';


}else{   // dans le cas ou notre requete nous renvoi 0 alors on initialise notre requete a un insert
$insertion = "INSERT INTO table (`toto`, `titi`, `tata`, `tutu`, `tyty`, `tonton`, `valeur`) VALUES('$data[0]', '$data[1]', '$data[2]', '$data[3]', '$data[4]', '$data[5]', '$data[6]');";
$query=$insertion;   //on initialise notre requete a un insert
}
// et la on execute la requete
$execute=mysql_query($query);
echo 'insertion terminée'; 

}
// signer taisant thomas
*/
0
Rejoignez-nous