Calcul en php et sql

Résolu/Fermé
Signaler
Messages postés
4
Date d'inscription
lundi 29 janvier 2018
Statut
Membre
Dernière intervention
31 janvier 2018
-
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
-
Bonjour désolé de vous déranger actuellement je travail sur une petite interface en localhost

Niveau sécurité j'ai aucun soucie car le PC n'est et ne sera jamais connecter sur le réseau donc j'utilise des protocole mysql

Voici mon souci actuellement je fait juste un tableau j'aimmerais fait en sorte que la partie résultat face somme ( 1 + 2 ) - 3

<?php

$host = "localhost";
$Nom_sql = "root";
$password_sql = "root";
$nom_bd_sql = "perso";
mysql_connect($host, $Nom_sql, $password_sql)
or die('Impossible de se connecter au serveur '.$host.'. veuillez verifier votre configuration');
mysql_select_db($nom_bd_sql)
or die('Impossible de se connecter a la base de donnée '.$nom_bd_sql.'');
// On vérifie les infos qu'on reçoit via un GET


if( !isset($_GET['identificationuni']) || !($identificationuni = $_GET['identificationuni']))
;


// On recupere l'article via son id
$retour = mysql_query("SELECT * FROM calcul WHERE identificationuni = '".$identificationuni."' ORDER BY datedebut LIMIT 0, 10");
//on affiche notre boucle
while($donnees = mysql_fetch_array($retour)){
echo'



<tr>

<td>'.$donnees['etat'].'</td>
<td><time datetime="'.$donnees['1'].'"</time>'.$donnees['2'].'</td>
<td>'.$donnees['3'].'</td>
<td>'.$donnees['resultat'].'</td>



}






?>

</table>

Pouvez vous m'aider
je vous remerci de votre attention
Cordialement

1 réponse

Messages postés
34249
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
3 865
Bonjour

À quoi correspondent 1 2 et 3 ?
Des champs de ta table ? Ils sont de quels type ? Que contiennent t ils ?
As tu simplement essayé de faire ton opération dans ta requête sql directement ?
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 41989 internautes nous ont dit merci ce mois-ci

Messages postés
4
Date d'inscription
lundi 29 janvier 2018
Statut
Membre
Dernière intervention
31 janvier 2018

Bonjour Jordan
Oui ce sont des valeurs et j'aimerais que le
'.$donnees['resultat'].'</td>


Donne en faite le calcule ( Nombre N°1 + Nombre N° 2 ) - Nombre N° 3 = resultat

Je sais pas du tous comment faire si tu peux m'aider
Cordialement
Messages postés
34249
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
3 865
SELECT ( `1` +` 2` ) - `3`  as resultat
FROM calcul 
WHERE identificationuni = '".$identificationuni."' 
ORDER BY datedebut LIMIT 0, 10


Par contre nommer tes champs par des chiffres... ce n'est clairement pas une bonne idée !
Messages postés
4
Date d'inscription
lundi 29 janvier 2018
Statut
Membre
Dernière intervention
31 janvier 2018

Salut jordan c'étais pour exemple
1 = point
2 = point offert
3 point perdu

Je ne comprend pas trop ta requêtes sql

// On recupere l'article via son id
$retour = mysql_query("SELECT * FROM pack WHERE identificationuni = '".$identificationuni."' ORDER BY datedebut LIMIT 0, 10 
UNION 
SELECT ('point' + 'pointoffert' ) - 'pointperdu' as resultat FROM pack WHERE identificationuni = '".$identificationuni."' ORDER BY datedebut LIMIT 0, 10
 ");
//on affiche notre boucle
while($donnees = mysql_fetch_array($retour)){
echo'
 


Si j'ai bien compris ça doit donnée ça

et je fait
<td class="hidden-phone">'.$donnees['resultat'].'</td>


pour la réponse

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /public_html/polaris/histopackprofil.php on line 40
Messages postés
34249
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
6 décembre 2021
3 865
Retire les quotes autour des champs ou sinon remplaces les par des backquotes
Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
1 004
Bonjour,

Il ne faut pas faire un UNION, mais rajouter le calcul à la liste des champs retournés :
// On recupere l'article via son id
$retour = mysql_query("SELECT *, ('point' + 'pointoffert' ) - 'pointperdu' as resultat FROM pack WHERE identificationuni = '".$identificationuni."' ORDER BY datedebut LIMIT 0, 10 ");
//on affiche notre boucle
while($donnees = mysql_fetch_array($retour))


Et je rajouterais que les mysql_query & cie sont obsolètes et doivent être remplacés par les classes PDO, mais Jordane te diras ça beauuuuuucoup mieux que moi (je suis sûr qu'il/elle a un message tout prêt à copier-coller)

Xavier