IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Logiciel d'inventaire multi zone


Sujet :

PHP & Base de données

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    passionné
    Inscrit en
    Janvier 2021
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France

    Informations professionnelles :
    Activité : passionné

    Informations forums :
    Inscription : Janvier 2021
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Logiciel d'inventaire multi zone
    Bonjour,

    Je suis dans la création d'un logiciel pour faire un inventaire de stock physique avec différents zones, différents stock et plusieurs utilisateurs.

    Chaque utilisateur se connecte avec un identifiant et mot de passe, ils sont associés a 1 stock et plusieurs zones.

    Structure de la base de données :

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     TABLE `comptage_zone` (
      `id_comptage` int(11) NOT NULL,
      `ref_id` int(11) NOT NULL,
      `user_id` int(11) NOT NULL,
      `lieu_id` int(11) NOT NULL,
      `zone_id` int(11) NOT NULL,
      `quantity` int(11) NOT NULL
    )
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    TABLE `reserve` (
      `id` int(11) NOT NULL,
      `name` varchar(100) NOT NULL,
      `name2` varchar(255) NOT NULL,
      `name3` varchar(255) NOT NULL,
      `ref` varchar(30) NOT NULL,
      `family` varchar(30) NOT NULL
    )
    Le listing des articles se fait via une recherche :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
        $query = "
          SELECT * FROM reserve 
          LEFT JOIN comptage_zone ON reserve.id = comptage_zone.ref_id
          WHERE ref LIKE '".$search."%'
          ORDER BY id 
          LIMIT 20
        ";

    L'insertion de la quantité d'un article :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    function comptage_zone($ref,$user,$lieu,$zone,$quantity){
            $bdd = mysqli_connect("localhost","user","mdp","database");
            $sql="SELECT *  FROM comptage_zone WHERE ref_id= $ref AND user_id= $user AND lieu_id= $lieu AND zone_id= $zone";
            if($result = mysqli_query($bdd,$sql)){}
                    $row_cnt = mysqli_num_rows($result);
            if ($row_cnt==1){
                    $sql = "UPDATE comptage_zone
                                    SET
                                            quantity= $quantity
                                    WHERE
                                            ref_id= $ref
                                    AND     user_id= $user
                                    AND     lieu_id= $lieu
                                    AND     zone_id= $zone
                                    ";
                    $requete = mysqli_query($bdd,$sql);
     
                    $_SESSION['flash']['success'] = "Le comptage a été mise a jour !";
                    header('Location: zone.php?zone='.$zone.'&c='.$_SESSION['zone']);
                    exit();
            }else {
                    $sql = "INSERT INTO comptage_zone (
                            ref_id,
                            user_id,
                            lieu_id,
                            zone_id,
                            quantity)
                          VALUES(
                            $ref,
                            $user,
                            $lieu,
                            $zone,
                            $quantity)";
                $requete = mysqli_query($bdd,$sql);
                //  debug($sql);
                $_SESSION['flash']['success'] = "Le comptage a été ajouté !";
                header('Location: zone.php?zone='.$zone.'&c='.$_SESSION['zone']);
                exit();
            }
    }

    Si l'utilisateur 1 se connecte, il selection la zone 1 (pour exemple), il a bien le tableau avec les différentes articles qui s'affiche, il fait l'ajout d'une quantité sur la référence article 1.
    Quand l'utilisateur 2 se connecte, qu'il sélectionne la même zone ou une autre zone, il peux voir la quantité que l'utilisateur 1 a mis.

    Et cela me pose probleme que l'utilisateur 2 voir ce que l'utilisateur 1 a rentré, ainsi que la zone n'est pas la même !

    J'ai essayé de modifier la recherche des articles comme ceci :
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
        $query = "
          SELECT * FROM reserve 
          LEFT JOIN comptage_zone ON reserve.id = comptage_zone.ref_id
          WHERE ref LIKE '".$search."%'
          AND user_id=".$_SESSION['auth']->user_id."
          AND lieu_id=".$_SESSION['auth']->lieu_id."
          AND zone_id=".$_SESSION['shop']."
          ORDER BY id 
          LIMIT 20
        ";
    Mais cela rends l'article non disponible pour les autre utilsateurs.


    J'aimerai trouvé la solution pour qu'un utilisateur voit uniquement les quantités qui a rentré et aussi dans la zone choisie.

    Je reste disponible pour toute information supplémentaire
    Merci d'avance pour votre aide,
    Kris

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 235
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 235
    Points : 15 532
    Points
    15 532
    Par défaut
    Citation Envoyé par kris974 Voir le message
    Chaque utilisateur se connecte avec un identifiant et mot de passe, ils sont associés a 1 stock et plusieurs zones.
    et donc une zone est associée à un stock ?

    ensuite, la liste des stocks est dans la table "comptage_zone" et la liste des zones est dans "reserve" ?
    si c'est le cas, je vous conseille d'utiliser les mêmes noms dans les explications en français et dans le code, cela vous aidera à mieux faire le lien entre les fonctionnalités et l'implémentation.
    cela donnera par exemple :
    table "stock"
    • champ stock_id : clé primaire
    • ... autres champs

    table "zone"
    • champ zone_id : clé primaire
    • champ stock_id
    • ... autres champs

Discussions similaires

  1. [Junior] Recherche solution d'inventaire multi parc
    Par darkchou dans le forum Administration
    Réponses: 1
    Dernier message: 06/01/2016, 20h32
  2. Multi zones d'édition
    Par Bwolf7 dans le forum Code::Blocks
    Réponses: 2
    Dernier message: 22/02/2012, 20h36
  3. Fichier multi zones vers mono zone
    Par rjmll dans le forum AS/400
    Réponses: 10
    Dernier message: 21/07/2009, 13h15
  4. Erreur 1004 sur PageSetup.PrintArea multi zone
    Par nawake dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 04/09/2008, 12h25
  5. Logiciel de sauvegarde multi-serveur
    Par neuneu1 dans le forum Applications et environnements graphiques
    Réponses: 2
    Dernier message: 12/01/2008, 21h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo