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 :

Afficher le résultat d'une requête dans un tableau


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Afficher le résultat d'une requête dans un tableau
    Bonjour à tous.

    Mon premier post pour ce grand classique qui est d'afficher le résultat d'une requête dans un tableau. Mon problème est le suivant :

    Quand je code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    $sql = 'SELECT Nom_utilisateur, Id_ordinateur FROM utilisateur, ordinateur ';
    $req = mysql_query($sql) or die('Erreur SQL !'.$sql.''.mysql_error());
    while($data = mysql_fetch_array($req))
    {
    echo "<table border=\"2\"><tr><td>";
    echo $data['Nom_utilisateur'];
    echo "</td><td></tr><tr>";
    echo $data['Id_ordinateur'];
    echo "</td></tr></table>";
    }
    Cela me donne sur la page php:
    Code X : 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
    ------------------------------
    Nom_utilisateur     Id_ordinateur
    -------------------------------
    Samson	                    1
    Marchal	                     1
    Knopfle                       1
    Lapierre                      1
    Levy	                      1
    Garcia	                      1
    Amidou	                     1
    Dutreuil                      1
    Chouaki	                     1
    Laplante                     1
    Dutillo	                       1
    Pavel	                      1
    
    Samson	                    2
    Marchal	                     2
    Knopfler                     2
    Lapierre                     2
    Levy	                     2
    Garcia	                     2
    Amidou	                    2
    Dutreuil                     2
    Chouaki	                    2
    Laplante                    2
    Dutillo	                      2
    Pavel	                     2
    .
    .
    .
    Pavel                       5    (il y a 5 Id_ordinateur en tout)

    Etc... il répète la liste de nom autant de fois qu'il y a d'Id_ordinateur.

    Voyez-vous d'où vient le problème?

    Je soupconne le fait que MySQL gère "faiblement" les relations et contraintes, mais en fait je ne vois pas.

    Merci d'avance...

  2. #2
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Compléments
    Il y a cinq tables créées, dont la principale est Ordinateur qui comprend 4 clés étrangères venant des 4 autres tables.

  3. #3
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Et c'est quoi le but du jeu?
    J'ai pas bien suivi la requête dans ce cas...
    Tu peux donner plus de précisions par rapport à la structure, et surtout, le but de la requête?

  4. #4
    Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Réponse
    En fait, j'ai cinq tables et je voudrais qu'a partir d'une requête il m'affiche les données qui correspondent à ma demande.
    Mais en fait je vois mon problème : c'est que les divers valeurs des champs ne sont pas "reliés" entre eux. Comment faire ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    572
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Juin 2005
    Messages : 572
    Points : 716
    Points
    716
    Par défaut
    Bonjour,

    Dans ta requête tu sélectionnes deux champs dans deux tables sans aucune relation entre elles, le résultat est donc normal : il affiche l'ensemble des possibilités sans restriction aucune.

    MySQL ne gère pas (et non faiblement) les relations et les contraintes, du moins jusqu'à la version 4 (me semble t'il).
    C'est donc à toi de les définir.

    En l'occurence, je suppose que tu désires qu'un utilisateur qui possède un ou plusieurs ordinateurs.
    Tu dois donc avoir dans ta table ordinateur une clé étrangère id_utilisateur.
    Les contraintes d'intégrité sont à vérifier au niveau de ton code PHP.

  6. #6
    Rédacteur

    Homme Profil pro
    Geek entrepreneur
    Inscrit en
    Novembre 2004
    Messages
    1 224
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Geek entrepreneur

    Informations forums :
    Inscription : Novembre 2004
    Messages : 1 224
    Points : 2 373
    Points
    2 373
    Par défaut
    Parce qu'il existe un SGBD qui est capable de faire une liaison sur une FK de facon non explicite ????
    J'ai bossé avec Oracle, derby, mysql, si on veut faire une jointure, on la fait dans la requête et on s'attends pas a ce que ce soit fait tout seul ^^

Discussions similaires

  1. Afficher le résultat d'une requête dans un tableau
    Par amola1992 dans le forum AWT/Swing
    Réponses: 12
    Dernier message: 24/07/2014, 16h45
  2. Afficher les résultats d'une requête dans un tableau
    Par zoro007 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 10/08/2010, 10h30
  3. Réponses: 1
    Dernier message: 07/03/2007, 12h05
  4. [SQL] Est-il possible d'afficher le résultat d'une requête dans un cadre
    Par dessinateurttuyen dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 18/07/2006, 18h52
  5. Réponses: 11
    Dernier message: 20/06/2006, 12h10

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