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 :

Construction base de données


Sujet :

PHP & Base de données

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut Construction base de données
    Bonjour,
    Je suis nouveau sur le forum.
    J'aurai besoin de votre aide pour mon site internet en PHP.
    Je vous explique mon problème :
    Je dois créer une BDD pour des établissements (hôtels, camping...)
    Lors de leur inscription sur mon site, ils devront cocher des cases permettant de savoir, s'ils sont ouvert à l'année, s'il y a une piscine... Ce sont des pictogrammes sous forme d'image (environ 100 choix possibles)
    Mon problème et de savoir comment créer ma table picto, et surtout comment attribuer les résultats par établissement.
    J'imagine que dans ma table "etablissement" je dois avoir un champ "picto".
    Merci de votre aide.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Bonjour et bienvenu sur le forum,

    Je te conseille :

    1 table établissement

    1 table recensant les options existantes
    option_id ; option_nom ; option_image

    1 table de liaison entre les etablissement et les options
    id ; etablissement_id ; option_id

    quand on coche une option pour un etablissement, tu ajoutes une ligne dans la table de liaison, si on la decoche, la ligne est supprimée.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Bonjour,
    J'ai créé 3 tables donc, je pensez que deux suffirait

    Mes tables sont créées (etab, option, liaison), maintenant je vois pas comment relier tout ça !

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Sur quel base de donnée travailles-tu ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Je travaille sur Wamp, MySQL

    Et PHPMyAdmin

    J'ai trouvé un autre truc où les pictos sont dans la base avec des "Y" et des "N" et if="Y" ils apparaissent à l'écran.
    Il fat que je me cale sur une méthode sinon je vais me perdre...

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    J'ai trouvé un autre truc où les pictos sont dans la base avec des "Y" et des "N" et if="Y" ils apparaissent à l'écran.
    C'est la plus mauvaise méthode mais si elle est plus intuitive :
    - Depuis le premier age de l'informatique on sait que stocker 0 ou 1 est plus économique que stocker Y ou N.
    - Cela stock des informations inutiles
    - Tu dois modifier ton code pour ajouter une option.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Alors autant utiliser une bonne méthode

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Lorsque je vais créer mon formulaire d'inscription je vais devoir remplir 2 tables, qu'est ce que je dois mettre dans le formulaire pour les pictos.
    Ca sera des cases radio où autre ?

  9. #9
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Ce que tu veux : la présentation des données ne change pas la facon dont elles sont stockées dans la base.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Bon si c'est comme je veux... !!!!
    Lors de l'inscription de l'établissement, celui-ci coche les pictos qui le concerne. Jusque là OK
    Dans mon formulaire quelle valeur il faudra que je mette à ça : ex piscine
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="checkbox" name="piscine" value="piscine.png"
    C'est un début...

  11. #11
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Nomme tes checkbox en tableau avec comme valeur l'id :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    $sql = "SELECT id, nom, image FROM options";
    $result = mysql_query($sql);
    while ($row = mysql_fetch_assoc($result)) {
    echo '<input type="checkbox" name="option[]" value="' . $row['id'] . '"/>
    <img src="' . $row['image'] . '">';
    }
    Comme ca tu recuperes toutes les cases cochées dans $_POST['option']
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Donc mon formulaire plutôt comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form name="form1" method="post" action="">
      <p><img src="picto/piscine.jpg"> 
      <input type="checkbox" name="piscine" value="1"></p>
      <p><img src="picto/billard.gif">
      <input type="checkbox" name="billard" value="2"></p>
      <p><img src="picto/tennis.gif">
      <input type="checkbox" name="tennis" value="3"></p>
    </form>

  13. #13
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Non, ca ne ressemble pas du tout a ce que j'ai ecris.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  14. #14
    Expert confirmé
    Avatar de Séb.
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    5 347
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 347
    Billets dans le blog
    17
    Par défaut
    GWBCLT, regarde bien la valeur du NAME proposé par sabotage.
    Cela permet de stocker les options cochées dans un tableau et de traiter facilement les choix de l'utilisateur.

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Alors plus comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <form name="form1" method="post" action="">
      <p><img src="picto/piscine.jpg"> 
      <input type="checkbox" name="option[]" value="' . $row['1'] . '"></p>
      <p><img src="picto/billard.gif">
      <input type="checkbox" name="option[]" value="' . $row['2'] . '"></p>
      <p><img src="picto/tennis.gif">
      <input type="checkbox" name="option[]" value="' . $row['3'] . '"></p>
    </form>

  16. #16
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Je t'ai indiqué ce qu'il fallait faire, si tu écris autre chose, forcemment je ne peux que te dire que ca ne va pas.

    Le formulaire doit etre produit par lecture de la base de donnée et non pas saisie a la main.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    OK, j'avais pas compris...

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Apperamment j'ai un pb :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
    $db=mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
    mysql_select_db('test_picto',$db);
    $picto = "SELECT option_id, option_nom, option_image FROM option";
    $result = mysql_query($picto);
    while ($row = mysql_fetch_assoc($result)) {
    echo '<input type="checkbox" name="option[]" value="' . $row['option_id'] . '"/>
    <img src="' . $row['picto/option_image'] . '">';
    }
    ?>
    Il faut que je me connecte à la base ? ok
    J'ai une erreur au niveau de l'affichge des images...

  19. #19
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    ca serait plutot ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="picto/' . $row['option_image'] . '">
    N'hesite pas a lire des guides pour débutants : savoir manipuler un tableau c'est primordial.
    S'il te manque des concepts basiques tu ne peux pas t'aventurer dans un projet sérieux.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Avril 2009
    Messages
    29
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 29
    Par défaut
    Oui ça je l'avais corrigé entre temps.
    Le message d'erreur que j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in D:\Romuald\Travail\wamp\www\test_picto\formulaire.php on line 25
    Ce qui correspond à cete ligne là : while ($row = mysql_fetch_assoc($result)) {

Discussions similaires

  1. [AC-2007] Problème construction de base de données Access
    Par Doken dans le forum Modélisation
    Réponses: 12
    Dernier message: 05/08/2013, 19h28
  2. [1.x] construction schema.xml depuis base de données
    Par megaloplex dans le forum Symfony
    Réponses: 3
    Dernier message: 12/05/2010, 14h56
  3. [AC-2003] Construction d'une base de données
    Par lunixienne dans le forum Modélisation
    Réponses: 10
    Dernier message: 01/09/2009, 16h40
  4. Réponses: 4
    Dernier message: 12/08/2006, 13h07
  5. probleme construction base de donnes MySql...Help
    Par chakan dans le forum Requêtes
    Réponses: 7
    Dernier message: 21/07/2004, 11h27

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