A voir également:
- Faire des calcul en php
- Calcul moyenne excel - Guide
- Easy php - Télécharger - Divers Web & Internet
- Calcul charpente bois gratuit - Télécharger - Architecture & Déco
- Logiciel gratuit calcul valeur nutritionnelle - Télécharger - Santé & Bien-être
- Calcul km marche à pied gratuit - Télécharger - Sport
3 réponses
Bonjour
Tu n'utilises pas correctement les résultats rendus par mysql_query.
En effet, mysql_query ne te rend pas directement la valeur d'un champ ; tu ne peux pas t'en servir tel quel pour faire un calcul.
mysql_query (sur un SELECT) te rend une ressource, c'est une sorte de tableau à deux dimensions qui contient les résultats (car il peut y en avoir plusieurs en général)
Tu peux extraire des informations de cette ressource avec (entre autres) :
mysql_num_rows($resource) qui te dit combien il y a de lignes dans la réponse
et mysql_fetxh_array ($resource) qui te rend une ligne du tableau dont je parlais au départ. C'est un vrai tableau PHP, celui-ci ; il représente une ligne de réponses. Les éléments de ce tableau sont les différents champs demandés dans la requête
par exemple :
Il y a de nombreux tutoriaux sur l'utilisation de ces fonctions sur le web.
Tu n'utilises pas correctement les résultats rendus par mysql_query.
En effet, mysql_query ne te rend pas directement la valeur d'un champ ; tu ne peux pas t'en servir tel quel pour faire un calcul.
mysql_query (sur un SELECT) te rend une ressource, c'est une sorte de tableau à deux dimensions qui contient les résultats (car il peut y en avoir plusieurs en général)
Tu peux extraire des informations de cette ressource avec (entre autres) :
mysql_num_rows($resource) qui te dit combien il y a de lignes dans la réponse
et mysql_fetxh_array ($resource) qui te rend une ligne du tableau dont je parlais au départ. C'est un vrai tableau PHP, celui-ci ; il représente une ligne de réponses. Les éléments de ce tableau sont les différents champs demandés dans la requête
par exemple :
$res=mysql_query("SELECT COUNT(payement.MTV) AS cnt FROM candidat,payement where candidat.Ncandidat = payement.Ncandidat and candidat.Ncandidat='".$id."'";); $ligne=mysql_fetch_array($res); $nbre_total_victime=$ligne['cnt']; $nbre_total_victime == 0){ echo 'vous n avez rien payer !!!';}
Il y a de nombreux tutoriaux sur l'utilisation de ces fonctions sur le web.
j'ai tenté de corriger mais ca marche toujours pas .
on m'affiche :
Parse error: parse error in C:\wamp\www\POJET AUTO ECOLE\reste2.php on line 16
voici le code :
on m'affiche :
Parse error: parse error in C:\wamp\www\POJET AUTO ECOLE\reste2.php on line 16
voici le code :
<?php if(isset($_POST['Ncandidat']) && !empty($_POST['Ncandidat'])){ include("connection.php"); $id=(int)$_POST['Ncandidat']; $id=mysql_real_escape_string($id); // Passons au calcul du reste . $result=mysql_query("SELECT COUNT(payement.MTV) AS cnt FROM candidat,payement where candidat.Ncandidat = payement.Ncandidat and candidat.Ncandidat='".$id."'"); $res = mysql_num_rows($result); if($res == 0){ while ($liste_etu=mysql_fetch_assoc($result)) { echo $liste_etu['cnt']; echo 'vous n avez rien payé !!!!'; else { $result2 = mysql_query("SELECT candidat.montantT FROM candidat,payement where candidat.Ncandidat = payement.Ncandidat and candidat.Ncandidat='".$id."'"); $res2 = mysql_num_rows($result2); if($res<$res2){ $reste = $res2 - $res ; echo 'il vous reste'. $reste.'a payer'; if ( $reste ==0 ){ echo 'vous avez soldé'; } } } } ?>
La requête SELECT COUNT()... renvoie une ligne et une seule (si elle est bien écrite et ne comporte pas de GROUP BY...) Donc inutile d'utiliser mysql_num_rows sur le résultat de cette requête : tu auras toujours 1.
Par contre, il faut extraire la valeur du COUNT(blabla) et pour ça il faut utiliser mysql_fetch_array comme je te l'ai indiqué.
Remarque 1 : dans le bout de code que je t'i donné, il manquait if ( au début de la dernière ligne, j'espère que tu l'avais compris.
Par contre, il faut extraire la valeur du COUNT(blabla) et pour ça il faut utiliser mysql_fetch_array comme je te l'ai indiqué.
Remarque 1 : dans le bout de code que je t'i donné, il manquait if ( au début de la dernière ligne, j'espère que tu l'avais compris.