#1 Le 25/02/2014, à 20:03
- ptilou
[RESOLU]Faire des opérations sur des données mysql dans php
Bonjour
Voici mon souci.
J'ai une base mysql à laquelle je me connecte sans problème via un petit programme php.
Le contenu de l'enregistrement que je recherche s'affiche sans problème. Mais voilà je voudrais non seulement l'afficher mais réaliser des opérations dessus.
Ma base comporte notamment deux champs décimaux . Je voudrais les soustraire et stocker le contenu dans une simple variable php
Voici le code de la requete et de l'affichage.
$query = sprintf("SELECT Reference, Designation, Prix, Pro FROM tarifs
WHERE Reference='%s' ",
mysql_real_escape_string($Reference));
if (!$result) {
$message = 'Requête invalide : ' . mysql_error() . "\n";
$message .= 'Requête complète : ' . $query;
die($message);
}
while ($row = mysql_fetch_row($result)) {
echo '<i> Référence : </i>' .$Reference.' ';
echo '<i> Libellé : </i>' .$row[1]. ' <br>';
echo '<i> Tarif Pro : </i>' .$row[2]. '€ ';
echo '<i> Prix Net : </i>' .$row[3]. '€ ';
}
Je souhaitrai mettre le résultat de $row[2] - $row[3] dans une variable $toto ou simplement sotcker le contenu de $row[2] et de $row[3] dans des variable pour effectuer des opérations arithmétiques dessus.
J'ai déjà tenté plein de choses mais rien qui fonctionne...
Merci de votre aide.
Dernière modification par ptilou (Le 26/02/2014, à 14:13)
Il y a pire que le bruit des bottes : le silence des pantoufles
Hors ligne
#2 Le 25/02/2014, à 20:11
- J5012
Re : [RESOLU]Faire des opérations sur des données mysql dans php
quel est le typage mysql des nombres tarifs et prix ?
l'extraction renvoie un champ de donnees dans une variable string que tu "parses" avec php pour afficher les donnees qui sont alors des types string et non de type numeric...
tu dois je pense d'abord les convertir en type numeric avant de demander a php une operation de soustraction ...
Hors ligne
#3 Le 25/02/2014, à 20:31
- ptilou
Re : [RESOLU]Faire des opérations sur des données mysql dans php
Données via myphpadmin
Prix decimal(10,0)
Pro decimal(10,0)
Cela dit j'ai tenté des choses du genre:
$toto= substr($row[2])
Sans succès
Et j'ai trouvé sur le net plein de doc pour afficher ces fichues données mais rien pour les récupérer. Si vous savez ou je peux trouver ça.....
Meric
Il y a pire que le bruit des bottes : le silence des pantoufles
Hors ligne
#4 Le 25/02/2014, à 20:51
- J5012
Re : [RESOLU]Faire des opérations sur des données mysql dans php
http://fr.php.net/substr retourne un segment de chaine
http://php.net/manual/fr/language.opera … hmetic.php
Hors ligne
#5 Le 25/02/2014, à 21:11
- ptilou
Re : [RESOLU]Faire des opérations sur des données mysql dans php
J'avais déjà vu ces 2 pages mais je n'y ai rien trouvé qui solutionne mon problème.
Merci quand même
Il y a pire que le bruit des bottes : le silence des pantoufles
Hors ligne
#6 Le 25/02/2014, à 22:14
- pires57
Re : [RESOLU]Faire des opérations sur des données mysql dans php
concrètement tu veut faire quoi? donne des exemples
PS: merci de mettre ton code entre balise code, c'est plus lisible
Dernière modification par pires57 (Le 25/02/2014, à 22:15)
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#7 Le 25/02/2014, à 22:44
- ptilou
Re : [RESOLU]Faire des opérations sur des données mysql dans php
à pires57
Concrètement c'est très simple.
Dans la base de données j'ai 2 champs Prix et Pro qui sont le prix de revient et le prix de vente aux professionnel.
Je veux calculer la marge donc faire prix de vente - prix de revient, soit avec les champs de la base Pro - Prix
Ces champs sont affichés par php après une requète dans les variables $row[2] et $row[3] (qui sont des éléments de tableau si j'ai tout bien compris)
La requète se passe bien et l'affichage est fait avec ce code:
while ($row = mysql_fetch_row($result)) {
echo '<i> Référence : </i>' .$Reference.' ';
echo '<i> Libellé : </i>' .$row[1]. ' <br>';
echo '<i> Tarif Pro : </i>' .$row[2]. '€ ';
echo '<i> Prix Net : </i>' .$row[3]. '€ ';
}
Bon tout s'affiche bien mais après je ne sais pas comment faire $row[2] - $row[3] pour calculer la marge.
Il y a pire que le bruit des bottes : le silence des pantoufles
Hors ligne
#8 Le 25/02/2014, à 23:05
- pires57
Re : [RESOLU]Faire des opérations sur des données mysql dans php
peut etre comme cela?
$value = $row[2] - $row[3];
echo($value);
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#9 Le 26/02/2014, à 14:01
- ptilou
Re : [RESOLU]Faire des opérations sur des données mysql dans php
Merci pires57
Effectivement ce bète code fonctionne à une condition toutefois:
Le mettre dans la boucle ce que je ne faisais pas. Une fois bien placé tout baigne.
Il y a pire que le bruit des bottes : le silence des pantoufles
Hors ligne
#10 Le 26/02/2014, à 16:22
- pires57
Re : [RESOLU]Faire des opérations sur des données mysql dans php
Bin c'est logique qu'il faut le mettre dans la boucle puisque tu souhaite calculer pour chaque valeur de i
Utilisateur d'Archlinux, Ubuntu et Kali Linux
Administrateur système et réseau spécialisé Linux.
LinkedIn
Hors ligne
#11 Le 27/02/2014, à 06:00
- J5012
Re : [RESOLU]Faire des opérations sur des données mysql dans php
bin oui et si tu avais vraiment lu les docs que j'ai mis , et pas juste les survoler hein ?
tu aurais trouve tout seul la logique de pires57 ...
Hors ligne