frysk
Messages postés2Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention13 septembre 2008
-
12 sept. 2008 à 18:14
frysk
Messages postés2Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention13 septembre 2008
-
13 sept. 2008 à 18:38
Bonjour à tous!
Une petite présentation pour commencer: j'ai 39 ans, marié et 2 enfants; je suis pour ainsi dire novice en developpement php/mysql, mais je voudrais apprendre!...
J'ai un site e-commerce et aimerai mettre les mains dans le cambouis pour ne pas dépendre que de mon prestataire.
Voici mon 1er obstacle donc une 1ere question:
Je voudrais faire une mise à jour hors taxe de la colonne (prix_achat) d'une table (bon_de_commande); j'ai donc fait une requete:
UPDATE bon_de_commande
SET prix_achat = prix_achat/1.196
Pour les valeurs uniques, ça marche, mais il existe (lorsque la commande comporte plusieurs articles, une chaine avec un séparateur $ (exemple: 2.00$15.22$3.50): là je suis bloqué parce que le résultat n'est pas du tout le bon.
Est-ce-que quelqu'un peut m'éclairer et m'indiquer la bonne requete svp?
merci
jreaux62
Messages postés195Date d'inscriptionvendredi 13 juin 2008StatutMembreDernière intervention24 octobre 201132 13 sept. 2008 à 12:02
Bonjour,
si ton prix_achat est une chaine (où les différents prix sont séparés par un $), il faut t'y prendre autrement (faire un petit programme) :
(en gros)
<?php
// sélection de tous les ID et "prix_achat" de la table
$query = 'SELECT ID,prix_achat FROM bon_de_commande';
$result = mysql_query($query) or die('Erreur SQL ! '.$query.'
'.mysql_error());
// pour chaque resultat (fiche ID)
while ($val = mysql_fetch_array($result)) {
$prix_achatHT ='';
// separation des elements
$tabprix = explode('$',$val['prix_achat']);
for ($i=0;$i<sizeof($tabprix);$i++) {
// HT de chaque element
$tabprix[$i] = $tabprix[$i]/1.196;
// on recolle les morceaux
$prix_achatHT .= $tabprix[$i];
if ($i<>(sizeof($tabprix)-1)) {
// ajoute le signe $ (sauf pour le dernier)
$prix_achatHT .= '$';
}
}
// on UPDATE la table pour la fiche ID $SQLprix 'UPDATE bon_de_commande SET prix_achat \''.$prix_achatHT.'\' WHERE ID= '.$val['ID'];
mysql_query($SQLprix) or die('Erreur SQL ! '.$SQLprix.'
'.mysql_error());
}
?>
frysk
Messages postés2Date d'inscriptionjeudi 21 décembre 2000StatutMembreDernière intervention13 septembre 2008 13 sept. 2008 à 18:38
Excellent! je te remercie beaucoup jreaux62: ça fonctionne bien!!!
Tu m'enlèves vraiment une épine du pied, parce que j'ai effectivement chercher sur le net et la fonction "explode" me semblait la plus appropriée mais je ne savais pas trop la mettre en place.
J'ai juste ajouté la fonction "round" :
$tabprix[$i] = round(($tabprix[$i]/1.196),2);