Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites". Attention, le forum rencontre actuellement quelques difficultés. En cas d'erreur 502, il ne faut pas re-valider l'envoi d'un message ou l'ouverture d'une discussion, au risque de créer un doublon.

La section divers se réorganise ! De nouvelles sous-sections à venir. (plus d'infos + donner son avis)

#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 :&nbsp; </i>'  .$Reference.'&nbsp;&nbsp;&nbsp; ';
   echo '<i> Libellé :&nbsp; </i>' .$row[1]. ' <br>';
    echo '<i> Tarif Pro :&nbsp; </i>' .$row[2]. '€&nbsp;&nbsp;&nbsp; ';
    echo '<i> Prix Net :&nbsp; </i>' .$row[3]. '€&nbsp;&nbsp;&nbsp; ';
}

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

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.

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 :&nbsp; </i>'  .$Reference.'&nbsp;&nbsp;&nbsp; ';
   echo '<i> Libellé :&nbsp; </i>' .$row[1]. ' <br>';
    echo '<i> Tarif Pro :&nbsp; </i>' .$row[2]. '€&nbsp;&nbsp;&nbsp; ';
    echo '<i> Prix Net :&nbsp; </i>' .$row[3]. '€&nbsp;&nbsp;&nbsp; ';
}
 

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.

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.

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

Haut de page ↑