PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 Re : Forum Général PHP » [projet] FACTURE - PHP/MYSQL » 29-06-2011 17:06:32

facture || bulletin, du moment où on affiche/écrit des données SQL.
Dans les deux cas il y'a un moment où l'on doit calculer la somme (ou la moyenne pour le bulletin) des entrées, avec un nombre inconnu de produits (ou notes).
Sur le site ci-dessus on voit bien le tableau ou entrer les data, et l'autre tableau récapitulatif, avec le js j'ai pu faire des onChange (que j'arrive pas à reproduire avec PHP)
comme cela l'utilisateur n'a que peu de donnée à entrer (feignant les prof hmm).

Si déjà j'arriver à retranscrire celà en PHP se serai bien... et ensuite je devrais m'occuper des sauvegardes des factures par user (ou notes par élèves)

Merci Pierrot, kris déjà de m'avoir consacré du temps wink

#2 Re : Forum Général PHP » [projet] FACTURE - PHP/MYSQL » 29-06-2011 17:06:32

voilà j'ai heberger le buletin fais en javascript pour avoir une vue sur ce que je voudrais faire smile
(j'hebergerais le reste plus tard->pas de ftp au taf)

http://nxt3d.franceserv.com/cheese/mbhome.html

#3 Re : Forum Général PHP » [projet] FACTURE - PHP/MYSQL » 29-06-2011 17:06:32

Je suis en train de faire héberger mes projets pour que vous ayez une vue plus claire....

Mais en attendant je vais essayer d'être plus claire et précis, merci d'ailleurs pour votre aide car sa doit pas être évident de me relire smile

Donc: création d'une facture le but étant l'automatisation/optimisation des tâches.

objectif finale de la facture(produit)

je sélectionne le produit désiré (nom_produit) > les infos s'entre automatiquement à partir de la BDD (prix, stock...)
j'entre la quantité désiré et le calcul $qte * $prix ce fait automatiquement.

Au début j'avais un code comme sa (pas avec la même bdd)

//affiche dans le select la liste produit
    $jeux = $bdd->query("SELECT * FROM jeux_video");
    $qte = $_GET['qte'];
    $prod = $_GET['produit'];
   
      while ($data = $jeux->fetch())
     
        {
          //$pu = ($bdd->query('SELECT prix FROM jeux_video WHERE ID = ' .$prod. ''));
         
          $tt = $pu * $qte;
          //$pu = echo('<script language="javascript">GetElementByName("produit")</script>');
          echo ('<option name="' .$data['ID']. '"> '.$data['nom'].'</option>');
         
         
        }
        echo('</select>');
        //echo ('<input type="text" name="prix" value="' .$pu. '" />');
//echo ('<input type="text" name="qte" value="" />');
//echo ('<input type="submit"  value="go" />');

en appuyant sur le submit sa ajouté une nouvelle ligne dans le tableau récapitulatif.
j'ai eu l'occasion de le faire en js ça ressemblais à sa

// 4 variables globales utilises pour stocker tout le bordel
var TableauNotes = new Array();
var TableauCoef = new Array();
var TableauLib = new Array();
var SumCoef = 0;
var SumPts = 0;

function afficher_matiere1(){
  var indice_selectionne=document.tablo1.matiere1.selectedIndex;
  var chango=document.tablo1.matiere1.options[indice_selectionne].value; switch (chango){
  case "mat11":document.tablo1.lib1.value="français";document.tablo1.coeff1.value="2"; break;
  case "mat21":document.tablo1.lib1.value="math";document.tablo1.coeff1.value="3"; break;
  case "mat31":document.tablo1.lib1.value="architecture";document.tablo1.coeff1.value="4"; break;
  case "mat41":document.tablo1.lib1.value="bureautique";document.tablo1.coeff1.value="5"; break;
  case "mat51":document.tablo1.lib1.value="anglais";document.tablo1.coeff1.value="6"; break;
  case "mat61":document.tablo1.lib1.value="système";document.tablo1.coeff1.value="7"; break;
  default:document.tablo1.lib1.value="----";document.tablo1.coeff1.value="----";break;
}
}
function calculcoeff() {
  var valuecoeff=document.tablo1.coeff1.value
  var valuenote=document.tablo1.note1.value
}

function add_note(value, coef, lib)
{
  // calcule les points qu'apportent la note en fonction du coef
  var pts = value * coef;
  var lib = document.tablo1.lib1.value

  // stockage de la note et du coef dans leur tableau respectif
  TableauNotes.push(value);
  TableauCoef.push(coef);
  TableauLib.push(lib);
 
  // calcule la somme des points que le mec a
  SumPts = SumPts + parseInt(pts);
  // calcule la somme des coef
  SumCoef = SumCoef + parseInt(coef);

}

function calc_moyenne()
{
  // calcule la moyenne grace a la somme des pts divise par la somme des coef
  var Moyenne = SumPts / SumCoef;
  // On stock le nom de l'eleve pour pouvoir l'identifier dans son id
  var Eleve = document.eleve1.nom.value
 
  // affiche toutes les valeurs calcule (utile pour le debug) en commentaires la
  //alert("somme des points:"+SumPts+"\nsomme des coefs:"+SumCoef+"\nliste des notes"+TableauNotes+"\nliste des coefs:"+TableauCoef+"\nmoyenne:"+Moyenne);

  // met a jour les div avec les bonnes informations en changeant leur contenu grace a leur id
  document.getElementById('moyenne').innerHTML = Moyenne;
    document.getElementById('eleve').innerHTML = Eleve;

  if (Moyenne < 10)
    document.getElementById('appreciation').innerHTML = "travail insuffisant";
  else if (Moyenne >= 10 && Moyenne <= 12)
    document.getElementById('appreciation').innerHTML = "assez bon travail";
  else
    document.getElementById('appreciation').innerHTML = "tres bon travail";
}

function aff_tab()
{
  var i = 0;
  var tableau = '<table><tr><th>Note</th><th>Coef</th><th>Matieres</th></tr>';
 
  while (i < TableauNotes.length)
  {
    tableau += '<tr><td>'+TableauNotes[i]+'</td><td>'+TableauCoef[i]+'</td><td>'+TableauLib[i]+'</td></tr>';
    i++;
  }
  tableau += '</table>';
  document.getElementById('liste').innerHTML = tableau;
}

<input type="button" value="ajouter (+)" onclick="add_note(note1.value, coeff1.value, lib1.value), aff_tab()";>

qui était un projet de buletin en js/html uniquement....

là on doit utiliser du php et j'y arrive pas donc soit
je reprend le code js et essaie de récuperer les info en php pour les inscrire en sql
soit je refais tout...

Est-ce que c'est plus clair ? hmm

#4 Re : Forum Général PHP » [projet] FACTURE - PHP/MYSQL » 29-06-2011 17:06:32

Je vais attendre l'aide de ton ami pierrot wink mais une question en passant... est-il possible d'induire une variable dans une variable ?
J'explique: moi j'ai des entrées qte1..qte11, pu(prix unitaire)1..pu11 et je veux faire le total par article et le montant total...

J'aimerais faire une variable du style $qte.$i -> $i serait la variable id comme plus haut....
si quelqu'un m'a compris (j'avoue que j'ai un peu de mal à m'exprimer..)

#5 Re : Forum Général PHP » [projet] FACTURE - PHP/MYSQL » 29-06-2011 17:06:32

j'ai pensé au AJAX, mais je ne sais pas comment récupérer les infos :s
du coup je suis partit sur tout php...

la table lignDeFacture servirais à quoi ?
genre un
détail_commande(N°com, ref_prod, prix unit, qte..) ?

#6 Forum Général PHP » [projet] FACTURE - PHP/MYSQL » 29-06-2011 17:06:32

r3dzo
Réponses : 9

Bonjour à tous, je viens vous demander de l'aide car j'ai un projet pour les cours mais là je patauge sec wink

J'explique le projet: créer une facture en PHP/mySQL.

Pour celà j'ai créer 3 tables:

Facture(#id, titre, date, total...)
User(#id, nom, adresse)
Produit(#id, désignation, prix, stock)

Le but est en saisissant le code_user (#id) les champs adresse, nom apparaissent. De même pour les produits, on indique le code_produit, la quantité et le calcul du total se fait automatiquement....

J'ai essayé de faire au plus simple: afficher dans un tableau toutes les entrées et le client n'aurais qu'à choisir la quantité.
Malheureusement, le total ne s'affiche pas, et il y'a des bug du au manque de _get.

Je vous mets le bout du code en question... si quelqu'un pouvais me sauver, je perds le peux de cheveux qu'il me reste wink

<?php
  $req = $bdd->query('SELECT * FROM produit');
 
  echo ('
    <table border="1">
      <tr>
        <td>Code article</td>
        <td>Nom</td>
        <td>Qte</td>
        <td>Prix</td>
        <td>Total</td>
      </tr>
   
    '
);
 
  while ($data = $req->fetch()) {
 
 
  $id = $data['id_produit'];
 
 
    echo ('
   
    <tr>
      <td>
        '
.$id. '
      </td>
      <td>
        '
.$data['nom_produit']. '
      </td>
      <td>
      <input type="text" size="3" name="qte'
.$id. '" />
      </td>
      <td>
      <input type="text" size="3" name="pu'
.$id. '"
      value="'
.$data['prix_produit']. '" />
      </td>
      <td>
      <input type="text" size="3" name="tt'
.$id. '"
      value="" disabled="disabled"/>
      </td>
    </tr>
   
      '
); }
   
    echo (' </table> ');
   
 
?>

Pied de page des forums

Propulsé par FluxBB