Php - Calculs données formulaire et BDD

Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 7 mars 2016 à 12:52 - Dernière réponse : jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention
- 10 mars 2016 à 08:36
Bonjour,les amis avec la requête suivante je veux avoir automatiquement
manque=totaux-reception dès qu'on remplisse le formulaire qui est complètement en bas.Ce qui me donne manque= -reception.Aider moi à
retrouver l'erreur ou le code qui me donnerait le résultat attendu.Merci pour votre aide


NB: totaux n'es pas un champ de la table




<?php require_once("dbmysqli.php");

 date_default_timezone_set('UTC'); 

 if(isset($_POST['valider'])){

date_default_timezone_set('UTC');

/////////////////POST 
 

$compteurinitial=$_POST['compteurinitial'];

$compteurfinal=$_POST['compteurfinal']; 

$cuveinitial=$_POST['cuveinitial'];

$cuvefinal=$_POST['cuvefinal'];

$reception=$_POST['reception'];

 $manque=$_POST['manque'];

 //$manque=soustraction($_POST['totaux'],$_POST['reception']);
 
$date=$_POST['date'];

$quantite=$_POST['quantite'];

$prixunitaire=$_POST['prixunitaire'];

$total=produit($_POST['quantite'],$_POST['prixunitaire']);




$query="INSERT INTO compte1(compteurinitial,compteurfinal,cuveinitial,cuvefinal,reception,manque,date,quantite,prixunitaire,total)

VALUES('".$compteurinitial."','".$compteurfinal."','".$cuveinitial."','".$cuvefinal."','".$reception."','".$manque."','".$date."','".$quantite."','".$prixunitaire."','".$total."')";
 

  $totaux='".$result(int(totaux))."';

 
 $query = "SELECT SUM(total) FROM compte1 WHERE date='".date('d-m-Y')."'";  
  
$result1=mysqli_query($link,$query);



while($result= mysqli_fetch_array($result1,MYSQLI_BOTH))
{
 $manque=$totaux-$reception; 
 }

 
 
 $totaux='".$result(totaux)."';


if ($result1){echo'

<p>Compteur Initial:__'.$compteurinitial.'__ </p>

<p>Compteur Final:__'.$compteurfinal.'__ </p>

<p>Cuve Initial:__'.$cuveinitial.'__ </p>

<p>Cuve Final:__'.$cuvefinal.'__ </p>

<p>Réception:__'.($reception).'__ </p>

<p>Manque:__'.abs($manque).'__ </p>

<p>Date:__'.date('d-m-Y').'__ </p>

<p>Quantite:__'.$quantite.'__</p> 

<p>Prixunitaire:__'.$prixunitaire.' fcfa__</p>  

<p>Total:__'.$total.' fcfa__</p>  

'; 
mysqli_close($link); 
} 
 
else {
echo'faux';
 mysqli_close($link);
}

}/////////FIN VALIDER
 

 
///////////FORMULAIRE 
 
 else
{$content='  
<form name="form1" id="form1" method="post" action="#"><br/>

<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="date">Date:</label><input required readonly type="text" size="60" name="date" id="date"value='.date('d-m-Y').' /><br/>
 
<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="compteurinitial">Compteur Initial:</label><input required readonly  type="number" size="60" name="compteurinitial" id="compteurinitial" value="0"/><br/>
 
<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="compteurfinal">Compteur Final:</label><input required type="number" size="60" name="compteurfinal" id="compteurfinal"/><br/>
 
<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="cuveinitial">Cuve Initial:</label><input required readonly type="number" size="60" name="cuveinitial" id="cuveinitial" value="0"/><br/>

<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="cuvefinal">Cuve Final:</label><input required type="number" size="60" name="cuvefinal" id="cuvefinal"/><br/>
 
<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="reception">Réception:</label><input required type="number" size="60" name="reception" id="reception"/><br/>
  
<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="manque">Manque:</label><input required type="number" size="60" name="manque" id="manque"/><br/>

<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="quantite">Quantité:</label><input required type="number" size="60" name="quantite" id="quantite"/><br/>
 
<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="prixunitaire">Prix Unitaire:</label><input required type="number" size="60" name="prixunitaire" id="prixunitaire"/><br/>

<label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%"for="prixunitaire"></label><input required type="submit"  name="valider" id="valider" value="valider"/><br/>

</form> 
'; 
print $content; 

} 

function produit($quantite,$prixunitaire) 
{
return $quantite*$prixunitaire;
}

function sum($total)
{
$totaux=sum($total);
}


function soustraction($totaux,$reception)

{
 $re=$totaux-$reception;
 return $re;
}

?> 
 


EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici :ICI

Merci d'y penser dans tes prochains messages.


<Né pour règner>
Afficher la suite 

Votre réponse

42 réponses

jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - Modifié par jordane45 le 7/03/2016 à 14:05
0
Merci
Bonjour,

Déjà... voici ton code remis en forme....


<?php 
//-------------------------------------------------------//
//Affichage des éventuelles erreurs Php
//-------------------------------------------------------//
error_reporting(E_ALL);


date_default_timezone_set('UTC'); 
  
//-------------------------------------------------------//
//connxion à la BDD
//-------------------------------------------------------//
require_once("dbmysqli.php");


//-------------------------------------------------------// 
//Récupération "propre" des variables POST
//-------------------------------------------------------//
$date = isset($_POST['date']) ? $_POST['date'] : NULL;
$compteurinitial = isset( $_POST['compteurinitial'] ) ? $_POST['compteurinitial'] : NULL;
$compteurfinal = isset($_POST['compteurfinal']) ? _POST['compteurfinal'] : NULL; 
$cuveinitial = isset($_POST['cuveinitial']) ? $_POST['cuveinitial'] : NULL;
$cuvefinal = isset($_POST['cuvefinal']) ? $_POST['cuvefinal'] : NULL;
$reception = isset($_POST['reception']) ? (float)$_POST['reception']: NULL;
$manque = isset($_POST['manque']) ? (float)$_POST['manque'] : NULL;
$quantite = isset($_POST['quantite']) ? (float)$_POST['quantite'] : NULL;
$prixunitaire = isset($_POST['prixunitaire']) ? (float)$_POST['prixunitaire'] : NULL;

$total = $quantite * $prixunitaire;




//Traitement du formulaire
 if(isset($_POST['valider'])){

  // Insertion en BDD
  $sql="INSERT INTO compte1(compteurinitial,compteurfinal,cuveinitial,cuvefinal,reception,manque,date,quantite,prixunitaire,total)
        VALUES('$compteurinitial','$compteurfinal','$cuveinitial','$cuvefinal','$reception','$manque','$date','$quantite','$prixunitaire','$total')";
 
  $result1=mysqli_query($link,$sql);
 
 // Récupération du TOTAL EN BDD   
  $query = "SELECT SUM(total) as TOTAL_EN_BDD FROM compte1 WHERE date='".date('d-m-Y')."'";  
  $result1=mysqli_query($link,$query);
 while($result= mysqli_fetch_array($result1,MYSQLI_BOTH)){
  $TOTAL_EN_BDD = $result['TOTAL_EN_BDD'];
  }
  

 if ($result1){
  echo'
    <p>Compteur Initial:__'.$compteurinitial.'__ </p>
    <p>Compteur Final:__'.$compteurfinal.'__ </p>
    <p>Cuve Initial:__'.$cuveinitial.'__ </p>
    <p>Cuve Final:__'.$cuvefinal.'__ </p>
    <p>Réception:__'.($reception).'__ </p>
    <p>Manque:__'.abs($manque).'__ </p>
    <p>Date:__'.date('d-m-Y').'__ </p>
    <p>Quantite:__'.$quantite.'__</p> 
    <p>Prixunitaire:__'.$prixunitaire.' fcfa__</p>  
    <p>Total:__'.$total.' fcfa__</p>  
    '; 
  echo "TOTAL_EN_BDD = " . $TOTAL_EN_BDD;

 } else {
  echo'faux';
 }


} else {
 $content='  
  <form name="form1" id="form1" method="post" action=""><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="date">Date:</label>
      <input required readonly type="text" size="60" name="date" id="date"value='.date('d-m-Y').' /><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurinitial">Compteur Initial:</label>
      <input required readonly  type="number" size="60" name="compteurinitial" id="compteurinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurfinal">Compteur Final:</label>
      <input required type="number" size="60" name="compteurfinal" id="compteurfinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuveinitial">Cuve Initial:</label>
      <input required readonly type="number" size="60" name="cuveinitial" id="cuveinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuvefinal">Cuve Final:</label>
      <input required type="number" size="60" name="cuvefinal" id="cuvefinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="reception">Réception:</label>
      <input required type="number" size="60" name="reception" id="reception"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="manque">Manque:</label>
      <input required type="number" size="60" name="manque" id="manque"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="quantite">Quantité:</label>
      <input required type="number" size="60" name="quantite" id="quantite"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire">Prix Unitaire:</label>
      <input required type="number" size="60" name="prixunitaire" id="prixunitaire"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire"></label>
      <input required type="submit"  name="valider" id="valider" value="valider"/><br/>
  </form> 
  '; 
 print $content; 
} 

//fermeture connexion mysql
 mysqli_close($link); 
?>


Teste le .. et expliques nous CLAIREMENT ce qui, selon toi, ne fonctionne pas correctement.

PS: J'aimerai que tu lises intégralement les explications données ici : http://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
et que tu fasses attention lorsque tu rédiges tes messages pour y mettre les balises de code comme il faut sans que j'ai besoin de corriger ..


Cordialement, 
Jordane                                                                 
Commenter la réponse de jordane45
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 7 mars 2016 à 14:56
0
Merci
ma réponse vient.je veux que manque soit egal à

(total en-dbb)-réception.et si possible je ne veux pas que

(total en-dbb) s''affiche.je vous remerci beau
coup
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 7 mars 2016 à 17:01
oui j'ai testé avec des variables et ça marche correctement.mon problème se trouve au niveau de l'erreur qui signale que TOTAL_EN_BDD n'est pas defini pour que j'aie manque=(TOTAL_EN_BDD) -reception.pour cequi concerne le format de la date je vais réessayer
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 7 mars 2016 à 17:07
Et qu'as tu écris exactement comme code ??
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 7 mars 2016 à 17:15
ok, j'ai maintenu finalement votre requête et j'ai ajouté la fonction suivante: Mais ça ne donne toujours pas.



$manque=soustraction($_POST['TOTAL_EN_BDD'],$_POST['reception']);


function soustraction($TOTAL_EN_BDD,$reception)

{
$re=$TOTAL_EN_BDD-$reception;
return $re;
}
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 7 mars 2016 à 20:28
1 - Quand vas tu te décider à utiliser la coloration syntaxique pour poster ton code ????

2 - Où as tu, dans le code que je t'ai donné...., vu que la variable provenait d'un $_POST ??
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 08:58
salut! excusez moi.j'essaie d'utiliser la coloration syntaxique mais ça ne marche pas!!!!!!!!!!!!!!!

si vous pouvez m'expliquer brièvement cela!!!!
Commenter la réponse de Fridonne
ucfoutu 18039 Messages postés lundi 7 décembre 2009Date d'inscriptionModérateurStatut 11 avril 2018 Dernière intervention - 7 mars 2016 à 20:46
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 09:02
mais après lalecture j'applique cela pour utiliser la coloration syntaxique, ce qui ne mache pas!!!!!

si vous pouvez m'expliquer brièvement cela!!!!
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 09:04
tu dois placer ton code ENTRE les balises de code.
par exemple :

<code php>
<?php //ceci est du code
</code>

ce qui donne

<?php //ceci est du code
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 09:05
Par contre, ce que Ucfoutu te faisait remarquer ... c'est le TITRE de ta question..." ETUDIANT " ne reflète en rien la difficulté TECHNIQUE rencontrée dans cette question. Il te faut donc éditer ton titre pour le modifier.
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 09:18
ok merci je vais essayer
Commenter la réponse de ucfoutu
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 10:38
0
Merci
aider moi à rétrouver la soustraction entre totaux et reception c'est tout ce qui me reste.


voici mon code.où se trouve l'erreur? merci pour votre aide


<?php
  
 
date_default_timezone_set('UTC'); 
 
require_once("dbmysqli.php");

if(isset($_POST['valider'])){

//-------------------------------------------------------//
//Récupération "propre" des variables POST
//-------------------------------------------------------//

$compteurinitial=$_POST['compteurinitial'];

$compteurfinal=$_POST['compteurfinal']; 

$cuveinitial=$_POST['cuveinitial'];

$cuvefinal=$_POST['cuvefinal'];

$reception=$_POST['reception'];

 $manque=$_POST['manque'];

 // $manque=soustraction($_POST['totaux'],$_POST['reception']);
 
$date=$_POST['date'];

$quantite=$_POST['quantite'];

$prixunitaire=$_POST['prixunitaire'];

$total=produit($_POST['quantite'],$_POST['prixunitaire']);

$total = $quantite * $prixunitaire;





 
$query="INSERT INTO compte1(compteurinitial,compteurfinal,cuveinitial,cuvefinal,reception,manque,date,quantite,prixunitaire,total)
 VALUES('".$compteurinitial."','".$compteurfinal."','".$cuveinitial."','".$cuvefinal."','".$reception."','".$manque."','".$date."','".$quantite."','".$prixunitaire."','".$total."')";
 
  $result1=mysqli_query($link,$query);
 
   
  $query = "SELECT SUM(total) as totaux FROM compte1 WHERE date='".date('d-m-Y')."'";  
  $result1=mysqli_query($link,$query);
 while($result= mysqli_fetch_array($result1,MYSQLI_BOTH)){
  $totaux = $result['totaux'];
  }
  

 if ($result1){
  echo'
    <p>Compteur Initial:__'.$compteurinitial.'__ </p>
    <p>Compteur Final:__'.$compteurfinal.'__ </p>
    <p>Cuve Initial:__'.$cuveinitial.'__ </p>
    <p>Cuve Final:__'.$cuvefinal.'__ </p>
    <p>Réception:__'.$reception.'__ </p>
    <p>Manque:__'.$manque.'__ </p>
    <p>Date:__'.date('d-m-Y').'__ </p>
    <p>Quantite:__'.$quantite.'__</p> 
    <p>Prixunitaire:__'.$prixunitaire.'__</p>  
    <p>Total:__'.$total.'__</p>  
    '; 
 echo'totaux='.$totaux; 
mysqli_close($link); 
 } else {
  echo'faux';
 mysqli_close($link); 
 }


} else {
 $content='  
  <form name="form1" id="form1" method="post" action="#"><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="date">Date:</label>
      <input required readonly type="text" size="60" name="date" id="date"value='.date('d-m-Y').' /><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurinitial">Compteur Initial:</label>
      <input required readonly  type="number" size="60" name="compteurinitial" id="compteurinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurfinal">Compteur Final:</label>
      <input required type="number" size="60" name="compteurfinal" id="compteurfinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuveinitial">Cuve Initial:</label>
      <input required readonly type="number" size="60" name="cuveinitial" id="cuveinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuvefinal">Cuve Final:</label>
      <input required type="number" size="60" name="cuvefinal" id="cuvefinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="reception">Réception:</label>
      <input required type="number" size="60" name="reception" id="reception"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="manque">Manque:</label>
      <input required type="number" size="60" name="manque" id="manque"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="quantite">Quantité:</label>
      <input required type="number" size="60" name="quantite" id="quantite"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire">Prix Unitaire:</label>
      <input required type="number" size="60" name="prixunitaire" id="prixunitaire"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire"></label>
      <input required type="submit"  name="valider" id="valider" value="valider"/><br/>
  </form> 
  '; 
 print $content; 
} 


 function produit($quantite,$Prixunitaire)

{
	return $quantite*$Prixunitaire;
}

 function soustraction($totaux,$reception)

{
	return $totaux-$reception;
}

  ?>


Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 12:22
mais où aller pour la modiffication de mon titre.excusez moi,je ne maitrise pas trop.merci
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 12:24
Au niveau du titre de ta question (donc tout en haut de cette discussion...) n'as tu pas un bouton "modifier" ?
Si oui... cliques dessus.
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 12:50
non j'ai comme bouton: signaler, marquer comme non resolu
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 14:16
Bon.. j'ai changé le titre de ta question. (un peu au pif... ).
Mais bon.
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 14:18
Première chose dans ton code que tu vas pouvoir changer ... c'est la récupération des données POST.

Tu n'as pas respécté l'exemple que je t'avais donné avec l'utilisation de l'écriture ternaire et des ISSET ( ou !EMPTY )
Par exemple :
//-------------------------------------------------------//
//Récupération "propre" des variables POST
//-------------------------------------------------------//

$compteurinitial=$_POST['compteurinitial'];

$compteurfinal=$_POST['compteurfinal']; 



Devient :
//-------------------------------------------------------//
//Récupération "propre" des variables POST
//-------------------------------------------------------//
$compteurinitial = isset($_POST['compteurinitial']) ? $_POST['compteurinitial'] : NULL;
$compteurfinal = isset($_POST['compteurfinal']) ? $_POST['compteurfinal'] : NULL; 


Je te laisse faire les autres lignes puis tu nous repostes ton code modifié que l'on regarde le reste.
Commenter la réponse de Fridonne
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 15:15
0
Merci
ok! et c'est ça:



 <?php



date_default_timezone_set('UTC'); 
  

require_once("dbmysqli.php");


//-------------------------------------------------------// 
//Récupération "propre" des variables POST
//-------------------------------------------------------//
$date = isset($_POST['date']) ? $_POST['date'] : NULL;
$compteurinitial = isset( $_POST['compteurinitial'] ) ? $_POST['compteurinitial'] : NULL;
$compteurfinal = isset($_POST['compteurfinal']) ? $_POST['compteurfinal'] : NULL; 
$cuveinitial = isset($_POST['cuveinitial']) ? $_POST['cuveinitial'] : NULL;
$cuvefinal = isset($_POST['cuvefinal']) ? $_POST['cuvefinal'] : NULL;
$reception = isset($_POST['reception']) ? (float)$_POST['reception']: NULL;
$manque = isset($_POST['manque']) ? (float)$_POST['manque'] : NULL;
$quantite = isset($_POST['quantite']) ? (float)$_POST['quantite'] : NULL;
$prixunitaire = isset($_POST['prixunitaire']) ? (float)$_POST['prixunitaire'] : NULL;

$TOTAL_EN_BDD = isset($_POST['TOTAL_EN_BDD']) ? (float)$_POST['TOTAL_EN_BDD'] : NULL;

$total = $quantite * $prixunitaire;

$manque=soustraction($_POST['TOTAL_EN_BDD'],$_POST['reception']);


//Traitement du formulaire
 if(isset($_POST['valider'])){

  // Insertion en BDD
  $sql="INSERT INTO compte1(compteurinitial,compteurfinal,cuveinitial,cuvefinal,reception,manque,date,quantite,prixunitaire,total)
        VALUES('$compteurinitial','$compteurfinal','$cuveinitial','$cuvefinal','$reception','$manque','$date','$quantite','$prixunitaire','$total')";
 
  $result1=mysqli_query($link,$sql);
 
 // Récupération du TOTAL EN BDD   
  $query = "SELECT SUM(total) as TOTAL_EN_BDD FROM compte1 WHERE date='".date('d-m-Y')."'";  
  $result1=mysqli_query($link,$query);
 while($result= mysqli_fetch_array($result1,MYSQLI_BOTH)){
  $TOTAL_EN_BDD = $result['TOTAL_EN_BDD'];
  }
  

 if ($result1){
  echo'
    <p>Compteur Initial:__'.$compteurinitial.'__ </p>
    <p>Compteur Final:__'.$compteurfinal.'__ </p>
    <p>Cuve Initial:__'.$cuveinitial.'__ </p>
    <p>Cuve Final:__'.$cuvefinal.'__ </p>
    <p>Réception:__'.$reception.'__ </p>
    <p>Manque:__'.$manque.'__ </p>
    <p>Date:__'.date('d-m-Y').'__ </p>
    <p>Quantite:__'.$quantite.'__</p> 
    <p>Prixunitaire:__'.$prixunitaire.' fcfa__</p>  
    <p>Total:__'.$total.' fcfa__</p>  
    '; 
  

 } else {
  echo'faux';
 }


} else {
 $content='  
  <form name="form1" id="form1" method="post" action=""><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="date">Date:</label>
      <input required readonly type="text" size="60" name="date" id="date"value='.date('d-m-Y').' /><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurinitial">Compteur Initial:</label>
      <input required readonly  type="number" size="60" name="compteurinitial" id="compteurinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurfinal">Compteur Final:</label>
      <input required type="number" size="60" name="compteurfinal" id="compteurfinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuveinitial">Cuve Initial:</label>
      <input required readonly type="number" size="60" name="cuveinitial" id="cuveinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuvefinal">Cuve Final:</label>
      <input required type="number" size="60" name="cuvefinal" id="cuvefinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="reception">Réception:</label>
      <input required type="number" size="60" name="reception" id="reception"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="manque">Manque:</label>
      <input required type="number" size="60" name="manque" id="manque"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="quantite">Quantité:</label>
      <input required type="number" size="60" name="quantite" id="quantite"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire">Prix Unitaire:</label>
      <input required type="number" size="60" name="prixunitaire" id="prixunitaire"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire"></label>
      <input required type="submit"  name="valider" id="valider" value="valider"/><br/>
  </form> 
  '; 
 print $content; 
} 

//fermeture connexion mysql
 mysqli_close($link); 

 function soustraction($TOTAL_EN_BDD,$reception)

{
	$re=$TOTAL_EN_BDD-$reception;
	return $re;
}


 ?>
 
 
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 15:52
Je viens de relire ton code...
je te reposes donc la même question que la fois précédente .....
que viens faire ici la ligne :

$TOTAL_EN_BDD = isset($_POST['TOTAL_EN_BDD']) ? (float)$_POST['TOTAL_EN_BDD'] : NULL;

As tu ... dans ton formulaire html ... un champ input ayant pour nom : TOTAL_EN_BDD ????

N'as tu pas vu, dans le code que je t'avais donné .... que cette variable $TOTAL_EN_BDD ... provenait de la requête qui se trouve un peu plus bas dans ton code ??


 // Récupération du TOTAL EN BDD   
  $query = "SELECT SUM(total) as TOTAL_EN_BDD FROM compte1 WHERE date='".date('d-m-Y')."'";  
  $result1=mysqli_query($link,$query);
 while($result= mysqli_fetch_array($result1,MYSQLI_BOTH)){
  $TOTAL_EN_BDD = $result['TOTAL_EN_BDD'];
  }
  
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 16:14
excusez moi xè une erreur, comme après avoir testé il me renvoi TOTAL_EN_BDD n'est pas defini j'ai dû ajouter:
$TOTAL_EN_BDD = isset($_POST['TOTAL_EN_BDD']) ? (float)$_POST['TOTAL_EN_BDD'] : NULL; 


pourque TOTAL_EN_BDD soit defini.cequi est faut.aider moi alors à
retrouver le code qu'il faut.je vous remercie pour votre gentillesse en ma faveur
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 16:18
Alors là encore je te repose une question que je t'avais déjà posé :
As tu testé ta requête en DIRECT dans ta BDD ?
 // Récupération du TOTAL EN BDD   
  $query = "SELECT SUM(total) as TOTAL_EN_BDD FROM compte1 WHERE date='".date('d-m-Y')."'"; 

Ne te serais tu pas trompé sur le format de date ?
De quel type est ton champ date dans ta BDD ... ne serait-il pas en Y-m-d au lieu de d-m-Y ???
Commenter la réponse de Fridonne
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 16:34
0
Merci
voici alors mon:



<?php
//* /* /-------------------------------------------------------//
//Affichage des éventuelles erreurs Php
//-------------------------------------------------------//
error_reporting(E_ALL);


date_default_timezone_set('UTC'); 
  
//-------------------------------------------------------//
//connxion à la BDD
//-------------------------------------------------------//
require_once("dbmysqli.php");


//-------------------------------------------------------// 
//Récupération "propre" des variables POST
//-------------------------------------------------------//
$date = isset($_POST['date']) ? $_POST['date'] : NULL;
$compteurinitial = isset( $_POST['compteurinitial'] ) ? $_POST['compteurinitial'] : NULL;
$compteurfinal = isset($_POST['compteurfinal']) ? $_POST['compteurfinal'] : NULL; 
$cuveinitial = isset($_POST['cuveinitial']) ? $_POST['cuveinitial'] : NULL;
$cuvefinal = isset($_POST['cuvefinal']) ? $_POST['cuvefinal'] : NULL;
$reception = isset($_POST['reception']) ? (float)$_POST['reception']: NULL;
$manque = isset($_POST['manque']) ? (float)$_POST['manque'] : NULL;
$quantite = isset($_POST['quantite']) ? (float)$_POST['quantite'] : NULL;
$prixunitaire = isset($_POST['prixunitaire']) ? (float)$_POST['prixunitaire'] : NULL;



$total = $quantite * $prixunitaire;




//Traitement du formulaire
 if(isset($_POST['valider'])){

  // Insertion en BDD
  $sql="INSERT INTO compte1(compteurinitial,compteurfinal,cuveinitial,cuvefinal,reception,manque,date,quantite,prixunitaire,total)
        VALUES('$compteurinitial','$compteurfinal','$cuveinitial','$cuvefinal','$reception','$manque','$date','$quantite','$prixunitaire','$total')";
 
  $result1=mysqli_query($link,$sql);
 
 // Récupération du TOTAL EN BDD   
  $query = "SELECT SUM(total) as TOTAL_EN_BDD FROM compte1 WHERE date='".date('d-m-Y')."'";  
  $result1=mysqli_query($link,$query);
 while($result= mysqli_fetch_array($result1,MYSQLI_BOTH)){
  $TOTAL_EN_BDD = $result['TOTAL_EN_BDD'];
  }
  

 if ($result1){
  echo'
    <p>Compteur Initial:__'.$compteurinitial.'__ </p>
    <p>Compteur Final:__'.$compteurfinal.'__ </p>
    <p>Cuve Initial:__'.$cuveinitial.'__ </p>
    <p>Cuve Final:__'.$cuvefinal.'__ </p>
    <p>Réception:__'.$reception.'__ </p>
    <p>Manque:__'.$manque.'__ </p>
    <p>Date:__'.date('d-m-Y').'__ </p>
    <p>Quantite:__'.$quantite.'__</p> 
    <p>Prixunitaire:__'.$prixunitaire.' fcfa__</p>  
    <p>Total:__'.$total.' fcfa__</p>  
    '; 
  

 } else {
  echo'faux';
 }


} else {
 $content='  
  <form name="form1" id="form1" method="post" action=""><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="date">Date:</label>
      <input required readonly type="text" size="60" name="date" id="date"value='.date('d-m-Y').' /><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurinitial">Compteur Initial:</label>
      <input required readonly  type="number" size="60" name="compteurinitial" id="compteurinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="compteurfinal">Compteur Final:</label>
      <input required type="number" size="60" name="compteurfinal" id="compteurfinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuveinitial">Cuve Initial:</label>
      <input required readonly type="number" size="60" name="cuveinitial" id="cuveinitial" value="0"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="cuvefinal">Cuve Final:</label>
      <input required type="number" size="60" name="cuvefinal" id="cuvefinal"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="reception">Réception:</label>
      <input required type="number" size="60" name="reception" id="reception"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="manque">Manque:</label>
      <input required type="number" size="60" name="manque" id="manque"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="quantite">Quantité:</label>
      <input required type="number" size="60" name="quantite" id="quantite"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire">Prix Unitaire:</label>
      <input required type="number" size="60" name="prixunitaire" id="prixunitaire"/><br/>
   <label style="display:inline-block; text-align:right; vertical-align:middle; color:#0000FF; width:50%" for="prixunitaire"></label>
      <input required type="submit"  name="valider" id="valider" value="valider"/><br/>
  </form> 
  '; 
 print $content; 
} 

//fermeture connexion mysql
 mysqli_close($link); 

 function soustraction($TOTAL_EN_BDD,$reception)

{
	$re=$TOTAL_EN_BDD-$reception;
	return $re;
}

  
 ?>

jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 17:33
Ton code ... tu nous l'as déjà montré 50 fois .... !!!!!!

Je te demande si tu as testé EN DIRECT DANS TA BDD la requête et si elle te retourne quelque chose... ?????

Je t'ai également demandé quelle était la structure de ta table ... et de quel type est ton champ date ...
Ne peux tu pas répondre ????
Commenter la réponse de Fridonne
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 17:53
0
Merci
concernant le type de champ date dans ma BDD,je precise que je n'ai pas pris un format j'ai juste mis dans la structure de ma table:


date VARCHAR(150)
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 18:08
argghhhh .......
Une date ... on la stocke dans un champ de type DATE !
C'est plus facile à manipuler par la suite.....
Et puis... c'est quand même plus logique....


Enfin bon....
et que donne la requête lorsque tu la testes directement dans ta BDD ?
Commenter la réponse de Fridonne
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 8 mars 2016 à 18:09
0
Merci
ok!

1) c'est la structure de ma table:

<?php require_once("dbmysqli.php");


/////////////////////////////////////////////////////////////////
///////////////////////////créer une base de donnée pour compte1


$query="CREATE TABLE IF NOT EXISTS compte1(ID int NOT NULL AUTO_INCREMENT,

compteurinitial VARCHAR(150),

compteurfinal VARCHAR(150),

cuveinitial VARCHAR(150),

cuvefinal VARCHAR(150),

reception VARCHAR(150),

manque VARCHAR(150),

date VARCHAR(150),

quantite VARCHAR(150), 

prixunitaire VARCHAR(150) ,

total VARCHAR(150),

PRIMARY KEY(ID))";

$result=mysqli_query($link,$query);

if($result){
echo'bon';
mysqli_close($link);
}

else{
echo'faux';
mysqli_close($link);
}

?>



2) comment tester EN DIRECT DANS ma BDD ma requete?
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 8 mars 2016 à 18:21

comment tester EN DIRECT DANS ma BDD ma requete?

Tu vas dans ton phpmyadmin et tu y mets ta requête....
https://www.siteground.com/tutorials/phpmyadmin/phpmyadmin_mysql_query.htm
Commenter la réponse de Fridonne
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - Modifié par Fridonne le 8/03/2016 à 18:23
0
Merci
après le test elle me renvoi
$manque =-$reception 
au lieu de
$manque =$TOTAL_EN_BDD-$reception
et me signale également que TOTAL_EN_BDD n'est pas défini
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention - 9 mars 2016 à 21:58
Désolé. .. mais une bonne fois pour toutes... essayes de comprendre ce que je te demande. ..

Que donne la requête lorsque tu la testes DIRECTEMENT dans ta bdd ??

Sans cette information. .. impossible de t'aider ! !
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 10 mars 2016 à 00:35
Autrement formulé :

Sous ta requête (dans ton code php )
 // Récupération du TOTAL EN BDD  
  $query = "SELECT SUM(total) as totaux FROM compte1 WHERE date='".date('d-m-Y')."'" AND $manque=soustraction($totaux,$reception);
 

Ajoutes un ECHO de ta variable $query
 
  //Le temps des tests... fais donc un ECHO de ta requête
  echo "<br> La requête est : ".$query;


Puis :
1 - Postes nous le résultat de ce echo sur le forum
2 - testes le résultat obtenu directement dans ta BDD via PhpMyadmin par exemple.
3 - Postes nous ensuite le résultat obtenu sur le forum
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 10 mars 2016 à 00:36
NB... au passage ... je me demande ce que vient faire dans ta requête
le bout de code suivant :
  AND $manque=soustraction($totaux,$reception) 

... je n'en voie clairement pas l'utilité....
Fridonne 32 Messages postés jeudi 25 février 2016Date d'inscription 25 mars 2016 Dernière intervention > jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 10 mars 2016 à 08:32
c'est après ajout de cette requête que j'ai obtenu le resultat voulu




AND $manque=soustraction($totaux,$reception) 
jordane45 23172 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 12 novembre 2018 Dernière intervention - 10 mars 2016 à 08:36
Bon ben moi je laisse tomber.
reviens nous voir quand tu te seras décidé à répondre correctement aux questions qu'on que te pose....

bonne continuation.
Commenter la réponse de Fridonne

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.