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

Langage PHP Discussion :

Logique dans la BDD ?


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut Logique dans la BDD ?
    Bonjour,

    voilà je vais vous exposer mon petit problème
    J'ai fait une sorte de mini script qui me permet d'afficher des magazines et tous ceux que l'on a chez nous.

    En gros on peut gérer ça collection de magazine.

    donc je l'ai fait comme ceci sous les conseils d'un membre :

    Table : magazine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    REATE TABLE `magazine` (
      `id` int(11) NOT NULL auto_increment,
      `id_magazine` int(11) NOT NULL,
      `publication` varchar(30) NOT NULL,
      `numero` varchar(10) NOT NULL,
      `numero_int` int(11) NOT NULL,
      `date` date NOT NULL,
      `prix` varchar(10) NOT NULL,
      `monnaie` varchar(20) NOT NULL,
      `hs` smallint(1) NOT NULL,
      `date_ajouter` int(10) NOT NULL,
      `valider` smallint(1) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=261 DEFAULT CHARSET=utf8 AUTO_INCREMENT=261 ;
    Table : magazine_membre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    CREATE TABLE `magazine_membre` (
      `id_membre` int(11) NOT NULL,
      `id_magazine` int(11) NOT NULL,
      `numero_magazine` varchar(11) NOT NULL,
      `etat_magazine` varchar(30) NOT NULL,
      `hs` smallint(1) NOT NULL
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
    Et ma requête PHP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?php
    $id_membre = 2;
     
    $req = $bdd->query('SELECT magazine_membre.etat_magazine AS mm_etat, magazine.id AS m_id, magazine.publication AS m_publication, magazine.numero AS m_numero, magazine.date AS m_date, magazine.prix AS m_prix, magazine.monnaie AS m_monnaie, magazine.hs AS m_hs 
    			FROM magazine 
    			LEFT JOIN magazine_membre
    			ON magazine_membre.numero_magazine = magazine.numero 
    			WHERE magazine_membre.id_membre='.$id_membre.' AND magazine.valider=1 
    			ORDER BY publication, numero_int');
    ?>
    Le problème c'est que j'ai 258 magazines chez moi par exemple et sur la page il m'en affiche 268 !
    Donc le problème vient je pense du fait qu'il y a des magazines Hors série ("hs" qui vaut dans la table "1 pour oui" ou "0 pour non").

    Du coup je pense qu'il me compte deux fois le magazine...

    Comment faire pour faire en sorte que si je mets que le magazine soit hors série donc vaut 1 dans la table il me le définit comme hors série ?

    Merci, je suis un peu perdu ^^

  2. #2
    Membre émérite
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    736
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 736
    Par défaut
    avec votre requete si il y a 2 membre qui on le méme magasin alor le magasin va etre afficher 2 fois je croi que c'est pour ça que le nombre afficher et plus grand que le nombre des magasin

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Non ce n'est pas possible vu que je recupère que les magazines du membre de l'id "2" dans cette exemple.

    Donc je ne peux pas avoir d'autre id que celui du membre 2, le problème vient plus du fait qu'il y a des Hors séries je pense mais du coup comment faire ça...

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 36
    Par défaut
    Je souhaite t'aider mais j'ai un peu de mal a comprendre le sujet.

    Peux tu donnés un export de ta base avec des données afin de mieux comprendre.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    264
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 264
    Par défaut
    Ok voilà un exemple :

    Table magazine_membre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    INSERT INTO `magazine_membre` VALUES (2, 1, '2851', 'Bon', 0);
    INSERT INTO `magazine_membre` VALUES (2, 1, '2827', 'Bon', 0);
    INSERT INTO `magazine_membre` VALUES (2, 1, '2904', 'Bon', 0);
    INSERT INTO `magazine_membre` VALUES (2, 1, '2812', 'Bon', 1);
    INSERT INTO `magazine_membre` VALUES (2, 1, '2905', 'Bon', 0);
    INSERT INTO `magazine_membre` VALUES (2, 1, '2822', 'Bon', 0);
    Table magazine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    INSERT INTO `magazine` VALUES (1, 1, 'Mon super magazine', '2938', 2938, '2008-10-08', '1.00', 'EUR', 0, 1284301129, 1);
    INSERT INTO `magazine` VALUES (2, 1, 'Mon super magazine', '2935', 2935, '2008-09-17', '1.00', 'EUR', 0, 1284301129, 1);
    INSERT INTO `magazine` VALUES (3, 1, 'Mon super magazine', '2823', 2823, '2006-07-26', '1.00', 'EUR', 0, 1284301129, 1);
    INSERT INTO `magazine` VALUES (4, 1, 'Mon super magazine', '2871-2872', 2871, '2007-06-27', '1.00', 'EUR', 0, 1284301129, 1);
    INSERT INTO `magazine` VALUES (5, 3, 'Mon super magazine3', '2914', 2914, '2008-04-23', '1.00', 'EUR', 0, 1284301129, 1);
    INSERT INTO `magazine` VALUES (6, 1, 'Mon super magazine', '2907', 2907, '2008-03-05', '0.00', 'EUR', 1, 1284301129, 1);
    C'est un tout petit exemple ça sert à rien de mettre toute les lignes

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 36
    Par défaut
    Pourquoi y a t il 2 id dans la table magazine id, id_magazine?

Discussions similaires

  1. Problème d'ajout multiples dans un BDD Access
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 3
    Dernier message: 31/05/2004, 14h34
  2. Comment créer une Table dans 1 Bdd ACCESS avec Builder??
    Par makandja dans le forum C++Builder
    Réponses: 6
    Dernier message: 17/03/2004, 21h21
  3. Afficher une image JPG qui se trouve dans une bdd
    Par Harry dans le forum Bases de données
    Réponses: 6
    Dernier message: 27/02/2004, 11h51
  4. Comment stocker du multimédia dans ma bdd?
    Par Invité dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 22/08/2003, 10h44
  5. Changements de colonnes dans une BDD MySQL
    Par arnaud_verlaine dans le forum Requêtes
    Réponses: 8
    Dernier message: 07/08/2003, 12h33

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