Calcul en php et sql

Résolu/Fermé
kira1738 Messages postés 4 Date d'inscription lundi 29 janvier 2018 Statut Membre Dernière intervention 31 janvier 2018 - 29 janv. 2018 à 21:25
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 31 janv. 2018 à 09:10
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
A voir également:

1 réponse

jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
30 janv. 2018 à 01:32
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
kira1738 Messages postés 4 Date d'inscription lundi 29 janvier 2018 Statut Membre Dernière intervention 31 janvier 2018
30 janv. 2018 à 08:29
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
Modifié le 30 janv. 2018 à 09:04
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 !
0
kira1738 Messages postés 4 Date d'inscription lundi 29 janvier 2018 Statut Membre Dernière intervention 31 janvier 2018
31 janv. 2018 à 07:38
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
0
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
31 janv. 2018 à 07:41
Retire les quotes autour des champs ou sinon remplaces les par des backquotes
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
Modifié le 31 janv. 2018 à 09:38
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
0