alors j'ai pas fait compliqué j'ai rajouté brute de fonderie les éléments que je souhaite metre à jour voici le code :
<?php
// connection à la base
mysql_connect('localhost','root','')or die("Impossible de se connecter à la base de données");
mysql_select_db('lmb') or die("ça marche toujours pas");
// Lecture du fichier Test.csv "ref_article";"prix_public_ht";"prix_achat_ht"
$row = 1;
$fp = fopen ("test.csv","r");
while ($data = fgetcsv ($fp, 1000, ";"))
{
$num = count ($data);
// Update les valeurs du fichier dans la base SQL
$query="UPDATE articles
SET desc_courte=".(double)$data[1].",
prix_public_ht = ".(double)$data[2].",
paa_ht = ".(double)$data[3]."
WHERE ref_article = '".mysql_real_escape_string($data[0])."'";
mysql_query($query) or die("Erreur de requête : ".$query);
ECHO $data[0], " -> ", $data[1]," - ", $data[2]," - ", $data[3],"<br>";
$row++;
}
ECHO "Tout le tarif est à jours";
fclose ($fp);
mysql_close();
?>
et voici le CSV
"A-000000-00012";"Plafonnier 220V 13W 2700K page 136";"7.03";"4.1"
"A-000000-00013";"Plafonnier 220V 13W 6400K page 136";"7.03";"4.1"
"A-000000-00014";"Plafonnier 220V 21W 2700K page 136";"9.43";"5.5"
"A-000000-00015";"Plafonnier 220V 21W 6400K page 136";"9.43";"5.5"
"A-000000-00016";"Plafonnier page 139";"12.35";"7.2"
"A-000000-00017";"Plafonnier page 139";"9.95";"5.8"
"A-000000-00018";"Plafonnier page 141";"17.83";"10.4"
j'ai pas réussi à inséré un "printscreen" de PMA alors j'ai copié ce qui me semble utile :
Champ Type Interclassement
ref_article varchar(32) latin1_swedish_ci
ref_oem varchar(64) latin1_swedish_ci
ref_interne varchar(32) latin1_swedish_ci
lib_article varchar(250) latin1_swedish_ci
lib_ticket varchar(64) latin1_swedish_ci
desc_courte mediumblob BINARY
desc_longue mediumblob BINARY
ref_art_categ varchar(32) latin1_swedish_ci
Le script fonction il ne me renvoie pas d'erreur mais dans le champ desc_courte j'ai 0 au lieu d'un texte.
alors j'ai pas fait compliqué j'ai rajouté brute de fonderie les éléments que je souhaite metre à jour voici le code :
[php]<?php
// connection à la base
mysql_connect('localhost','root','')or die("Impossible de se connecter à la base de données");
mysql_select_db('lmb') or die("ça marche toujours pas");
// Lecture du fichier Test.csv "ref_article";"prix_public_ht";"prix_achat_ht"
$row = 1;
$fp = fopen ("test.csv","r");
while ($data = fgetcsv ($fp, 1000, ";"))
{
$num = count ($data);
// Update les valeurs du fichier dans la base SQL
$query="UPDATE articles
SET desc_courte=".(double)$data[1].",
prix_public_ht = ".(double)$data[2].",
paa_ht = ".(double)$data[3]."
WHERE ref_article = '".mysql_real_escape_string($data[0])."'";
mysql_query($query) or die("Erreur de requête : ".$query);
ECHO $data[0], " -> ", $data[1]," - ", $data[2]," - ", $data[3],"<br>";
$row++;
}
ECHO "Tout le tarif est à jours";
fclose ($fp);
mysql_close();
?>[/php]
et voici le CSV
"A-000000-00012";"Plafonnier 220V 13W 2700K page 136";"7.03";"4.1"
"A-000000-00013";"Plafonnier 220V 13W 6400K page 136";"7.03";"4.1"
"A-000000-00014";"Plafonnier 220V 21W 2700K page 136";"9.43";"5.5"
"A-000000-00015";"Plafonnier 220V 21W 6400K page 136";"9.43";"5.5"
"A-000000-00016";"Plafonnier page 139";"12.35";"7.2"
"A-000000-00017";"Plafonnier page 139";"9.95";"5.8"
"A-000000-00018";"Plafonnier page 141";"17.83";"10.4"
j'ai pas réussi à inséré un "printscreen" de PMA alors j'ai copié ce qui me semble utile :
Champ Type Interclassement
ref_article varchar(32) latin1_swedish_ci
ref_oem varchar(64) latin1_swedish_ci
ref_interne varchar(32) latin1_swedish_ci
lib_article varchar(250) latin1_swedish_ci
lib_ticket varchar(64) latin1_swedish_ci
desc_courte mediumblob BINARY
desc_longue mediumblob BINARY
ref_art_categ varchar(32) latin1_swedish_ci
Le script fonction il ne me renvoie pas d'erreur mais dans le champ desc_courte j'ai 0 au lieu d'un texte.