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 :

Placer une jointure dans le code


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2021
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2021
    Messages : 2
    Par défaut Placer une jointure dans le code
    Bonjour, je suis débutant en php, mon prof nous à demandé de faire une page php de "Joueurs de Basket" à l'aide d'une base de donnée (exemple + tables si joint).
    Il y a déjà des fichiers de prêt (Un CSS, Un joueurs.php et un JoueursDAO.php, mais je n'arrive pas a entrer un inner join dans le DAO pour que les infos dans ParticiperE et ParticiperM (entraînement, motivation...) s'affichent. Quelqu'un pourrait m'aider s'il vous plaît et me dire ou le mettre et comment ?

    Voici joueurs.php que j'ai déjà commencé à remplir (Surement pas assez opti) et JoueursDAO.php

    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    <html>
        <head>
            <link rel="stylesheet" href="styles/joueurs.css" type="text/css"/>
            <title>Joueurs</title>
            <meta charset="UTF-8"/>
            <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
        </head>
        <body>
            <?php
            ini_set('display_errors', 1);
            ini_set('display_startup_errors', 1);
            error_reporting(E_ALL);
            include_once "daos/JoueursDao.php";
            ?>
            <h1>Joueurs</h1>
            <a href="index.php">Index</a>
            <div class="grille">
                <?php
                $lesJoueurs = JoueursDao::getJoueurs();
                foreach ($lesJoueurs as $j) {
                    echo "<div class='ficheJ'>";
    				echo '<img alt="img" src="http://******/'.$j['id'].'.jfif">' ;
                    echo "<div class='nomJ'>" . $j['nom']."</div>";
                    echo "<div class='prenomJ'>" . $j['prenom']."</div>";
                    echo "<div class='ddnJ'>" . $j['ddn']."</div>";
                    echo "<div class='tailleJ'>" . $j['taille']."</div>";
                    echo "<div class='nbEJ'>" . $j['idEntrainement']."</div>";
                    echo "<div class='nbMJ'>" . $j['idMatch']."</div>";
                    echo "<div class='motivation'>" . $j['motivation']."</div>";
                    echo "<div class='implication'>" . $j['implication']."</div>";
                    echo '</div>' ;
     
                }
                ?>
            </div>
     
        </body>
    </html>
    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
    16
    17
    18
    19
    20
    21
    22
    23
    24
    <?php
     
    include_once 'daos/PdoBD.php';
     
    class JoueursDao {
            public static function getJoueurs() {
            $sql = "SELECT * FROM Joueur";
            $stmt = PdoBD::getInstance()->getMonPdo()->prepare($sql);
            $stmt->execute();
            $obj = $stmt->fetchAll(); //$obj = $stmt->fetch(); Si une seule ligne résultat
            return $obj;
    }
     
        	public static function getJoueursById($id) {
    		$sql = "SELECT * FROM Joueur where id=:leId";
            $stmt = PdoBD::getInstance()->getMonPdo()->prepare($sql);
            $stmt->bindParam(":leId", $id);
            $stmt->execute();
            $obj = $stmt->fetch(); //$obj = $stmt->fetch(); Si une seule ligne résultat
            return $obj;
        }
     
     
    }
    Images attachées Images attachées   

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Bonjour, on peux compter les match et entrainement, mais comment calculez vous les implication et motivation :

    Pour compter les matchs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    public static function getCountMatchJoueurById($id)
        {
            $sql = "SELECT count(idJoueur) as compteur FROM ParticiperM where idJoueur=:leId";
            $stmt = PdoBD::getInstance()->getMonPdo()->prepare($sql);
            $stmt->bindParam(":leId", $id);
            $stmt->execute();
            $obj = $stmt->fetch(); //$obj = $stmt->fetch(); Si une seule ligne résultat
            return $obj;
        }
    Que vous pouvez appeler dans votre boucle

    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
     
     
     foreach ($lesJoueurs as $j) {
                $match = getCountMatchJoueurById($j["id"]);
                echo "<div class='ficheJ'>";
                echo '<img alt="img" src="http://******/' . $j['id'] . '.jfif">';
                echo "<div class='nomJ'>" . $j['nom'] . "</div>";
                echo "<div class='prenomJ'>" . $j['prenom'] . "</div>";
                echo "<div class='ddnJ'>" . $j['ddn'] . "</div>";
                echo "<div class='tailleJ'>" . $j['taille'] . "</div>";
                echo "<div class='nbEJ'>" . $j['idEntrainement'] . "</div>";
                echo "<div class='nbMJ'>" . $match["compteur"] . "</div>";
                echo "<div class='motivation'>" . $j['motivation'] . "</div>";
                echo "<div class='implication'>" . $j['implication'] . "</div>";
                echo '</div>';
    On est d'accord, que il y aurais moyen de faire tout cela avec une jointure, mais dans ce cas j'ai besoin des données, pour faire les requêtes.

Discussions similaires

  1. Importer une librairie dans un code c++
    Par wikers dans le forum Linux
    Réponses: 6
    Dernier message: 14/08/2009, 00h31
  2. [VB.NET] Probleme de création d'une picturebox dans le code
    Par stringman62 dans le forum Windows Forms
    Réponses: 5
    Dernier message: 07/02/2006, 16h56
  3. Placer une image dans un dossier où qu'elle soit
    Par st0nky dans le forum Langage
    Réponses: 2
    Dernier message: 04/12/2005, 21h22
  4. [FLASH MX2004] Utiliser une variable dans le code
    Par arnolem dans le forum Flash
    Réponses: 25
    Dernier message: 02/12/2005, 16h37
  5. [vb.net] utilisation d'une variable dans le code
    Par arnolem dans le forum Windows Forms
    Réponses: 9
    Dernier message: 30/09/2005, 19h22

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