problème de requète

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : problème de requète

Re: problème de requète

par msi79 » 14 mars 2012, 12:53

finalement voici les 2tables que j'ai crée . donner moi votre avis .s'il y a des champs que je dois ajouter ou non .

-- Structure de la table `test_stock`
--

CREATE TABLE IF NOT EXISTS `test_stock` (
`id_Stock` int(11) NOT NULL AUTO_INCREMENT,
`date_Stock` date NOT NULL,
`reference_Stock` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`quantité_Stock` int(20) NOT NULL,
`Prix_unitaire_Stock` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`seuil` int(10) NOT NULL DEFAULT '10',
PRIMARY KEY (`id_Stock`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=6 ;

--
-- Contenu de la table `test_stock`
--

INSERT INTO `test_stock` (`id_Stock`, `date_Stock`, `reference_Stock`, `quantité_Stock`, `Prix_unitaire_Stock`, `seuil`) VALUES
(5, '2012-03-14', 'CASTEL', 200, '500', 10);

-- --------------------------------------------------------

--
-- Structure de la table `test_vente`
--

CREATE TABLE IF NOT EXISTS `test_vente` (
`id_vente` int(15) NOT NULL AUTO_INCREMENT,
`date_vente` date NOT NULL,
`reference_vente` varchar(50) COLLATE utf8_unicode_ci NOT NULL,
`quantité_vendu` int(20) NOT NULL,
`Prix_unitaire_vente` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id_vente`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=2 ;

--
-- Contenu de la table `test_vente`
--

INSERT INTO `test_vente` (`id_vente`, `date_vente`, `reference_vente`, `quantité_vendu`, `Prix_unitaire_vente`) VALUES
(1, '2012-03-14', 'CASTEL', 20, '650');

COMMIT;

Re: problème de requète

par msi79 » 14 mars 2012, 09:29

salut. je vais suivre tes conseils.
si je comprend bien il me faut deux tables :

- vente
*id_vente
*date_vente
*reference_vente
*quantité_vendu
*Prix_unitaire_vente

-stock
*id_stock
*date_stock
*article_stock
*reference_stock
*prix_untaire_stock

est-ce que tu trouve les champs de mes tables suffisants . si non quels autres champs je pourai ajouter

Re: problème de requète

par moogli » 14 mars 2012, 05:56

Même si tu vire client et fournisseurs , tu ne peux pas mettre les ventes dans la même table, ou alors tu fait système ou il va devoir faire la balance tout seul.
De plus tu n'aura pas de suivis des ventes alors que pour cela il faut juste une table !
À moins que le monsieur y préfère faire tout le taf et modifier les infos tout les soir et que le sort ben y sert à rien :mrgreen:

Avec ça tu peux calculer la différence entre le stock et les ventes, pour faire bien tu peux afficher les ventes sur une période (hoooo les beaux camemberts ;) )

Bref tu peux lui proposer un truc simple et sympa et évolutif (pour le jour ou il voudra que tu fasse en plus ;) )


@+

Re: problème de requète

par msi79 » 13 mars 2012, 13:16

le propriétaire de la buvette ne veut pas gérer les fournisseur et le clients il veut juste les entrées et les sorties des articles . c'est a dire le stock : ce qui a ete vendu ,ce qui reste .
c'est pourquoi j'ai fais une seule table article qui contient en même temps le stock.

Re: problème de requète

par moogli » 13 mars 2012, 12:07

Salut,

La y a une grosse erreur de conception.
Il faut une table article, pourquoi pas avec les quantités mais seulement s'il n'y a qu'un seul fournisseur pour un même produit sinon les quantités sont une liaison entre produits et fournisseurs.
Les ventes sont une tables qui sert de liaison entre articles et clients

Donc au final tu aura
Fournisseurs
Articles liaison avec fournisseurs
Clients
Ventes (liaison entre articles et clients)
Le stock est dans la table article ou dans une 5eme table si un produit peu être fournit par plusieurs fournisseurs.

Dans ce cas la différence c'est une requête avec deux sous requête qui fot un count.

@+

problème de requète

par msi79 » 13 mars 2012, 11:08

salut je veux créer un logiciel de pour gestion de stock d'une buvette .
j'ai crée une seule table pour les stock et la vente d'article.
le gestionnaire choisi a l'aide de bouton ratio si il veut soit insérer un stock ou s'il veut enregistrer un achat .
voici la table .
-- Structure de la table `test_articles`
--

CREATE TABLE IF NOT EXISTS `test_articles` (
`id_test` int(15) NOT NULL AUTO_INCREMENT,
`ArticleVendu` varchar(80) COLLATE utf8_unicode_ci NOT NULL,
`QuantiteVendu` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`PrixU` varchar(20) COLLATE utf8_unicode_ci NOT NULL,
`DateAchat` date NOT NULL,
`activite` varchar(40) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id_test`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;

--
-- Contenu de la table `test_articles`
--

INSERT INTO `test_articles` (`id_test`, `ArticleVendu`, `QuantiteVendu`, `PrixU`, `DateAchat`, `activite`) VALUES
(5, 'FLAGUE', '300', '600', '2012-03-12', 'Entree'),
(3, 'CASTEL BIERE', '100', '50', '2012-03-12', 'Entree'),
(4, 'CASTEL BIERE', '10', '750', '2012-03-12', 'sortie'),
(6, 'FLAGUE', '55', '800', '2012-03-12', 'sortie');

COMMIT;


je veux faire une requête pour afficher la différence entre le nombre d'article stocké et le nombre d'articles vendus pour chaque type d'article .
j'arrive a faire pour un type .par exemple CATEL BIERRE.
Mais je me rend compte que si la buvette a 1000 type ça deviens difficile .

voici le code pour un type :
<?php
  $ArticleVendu=trim($_POST["ArticleVendu"]);
  $QuantiteVendu=trim($_POST["QuantiteVendu"]);
  $PrixU=trim($_POST["PrixU"]);
  $DateAchat=trim($_POST["DateAchat"]);
  $activite=trim($_POST["activite"]);
   
	
	$color=array('#333333','#999999');
		$i=0;
		
           //On se connecte à la base de donnée  
           include("connection.php");
 //récupération le nombre d articles stockés 
			$result = mysql_query("SELECT QuantiteVendu AS artStock FROM test_articles WHERE  activite='Entree' AND ArticleVendu='CASTEL BIERE' ");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}
$row = mysql_fetch_row($result);
$entrer = $row[0] ;
//récupération le nombre d articles vendu
			$result = mysql_query("SELECT QuantiteVendu AS artsorti FROM test_articles WHERE  activite='sortie'  AND ArticleVendu='CASTEL BIERE' ");
if (!$result) {
   echo 'Impossible d\'exécuter la requête : ' . mysql_error();
   exit;
}
$row = mysql_fetch_row($result);
$soirtir = $row[0] ;
//inventaire
$diff=$entrer-$soirtir;
echo'<table width="687" border="0" align="center">
  <tr>
    <td width="156"><div align="center">DESIGNATION</div></td>
    <td width="165"><div align="center">STOCK ENTRE </div></td>
    <td width="176"><div align="center">STOCK SORTI </div></td>
    <td width="184"><div align="center">STOCK RESTANT </div></td>
  </tr>
  <tr>
    <td> <input type="text" name="textfield2"  value="CASTEL BIERE" style="background-color: #ECECEC; color: #FF0000; font-weight: bold; border-width: 1px; font-size:12pt"/> </td>
    <td><table width="154" border="0" align="center">
      <tr>
        <td width="144"><input type="text" name="textfield2"  value="'.$entrer.'" style="background-color: #ECECEC; color: #0000FF; font-weight: bold; border-width: 1px; font-size:12pt"/></td>
      </tr>
    </table></td>
    <td><table width="154" border="0" align="center">
      <tr>
        <td width="144"><input type="text" name="textfield3"    value="'.$soirtir.'" style="background-color: #ECECEC; color: #0000FF; font-weight: bold; border-width: 1px; font-size:12pt"/></td>
      </tr>
    </table></td>
    <td><table width="154" border="0" align="center">
      <tr>
        <td width="144"><input type="text" name="textfield4"    value="'.$diff.'" style="background-color: #ECECEC; color: #FF0000; font-weight: bold; border-width: 1px; font-size:12pt"/></td>
      </tr>
    </table></td>
  </tr>
</table>'
;
?>