Bonjour, je voudrais savoir comment faire pour rendre visible un bouton sous une certaine condition. Je m'explique j'ai créer un mini site en PHP qui sert à gérer les classes d'une école et les étudiants dans ses classes. Pour cela j'ai connecter mon PHP avec une database sql se trouvant dans PHPMyAdmin. Mon problème c'est que j'aimerais afficher un a qui sert a supprimer une classe que quand cette dernière ne contient aucun étudiant. En gros si la classe contient des étudiants le bouton est cacher et si la classe est vide le bouton est afficher. J'ai essayer de créer des conditions avec if et l'id de ma classe = classe_id de l'étudiant, mais rien ne marche. Je sais pas si cela est claire ou possible.
Modérateur
Bonsoir,

Si c'est en PHP, il te suffit d'interroger ta BdD pour savoir si ta classe contient quelque chose ou pas pour ensuite renvoyer à l'utilisateur quelque chose à afficher ou pas.
Peut-être cherches tu a afficher les classes occupées et celles disponibles ?

Sans code de ta part, difficile de t'orienter pour le modifier.

CDT
Bonjour,
<body>
    <h1>Liste des promotions de l'IIA</h1>
    <form action="" method="post" enctype="multipart/form-data">
        <div>
            <label for="Promo" class="lbl">Nom promotion :</label>
            <input id="Promo" name="Promo" type="text">
            <input id="Add" type="submit" value="Ajouter" id="submit"/>
        </div>
    </form>
    <h2>Liste des promotions : </h2>
    <table>
        <tbody>
            <?php while ($row = $stmt->fetch()) : ?>
                <tr id="trPromo">
                    <td><a href="etudiant.php?id=<?php echo htmlspecialchars($row['id']); ?>"><?php echo htmlspecialchars($row['nom']); ?></a></td>
                    <td><a id="Del" href="delete.php?id=<?php echo htmlspecialchars($row['id']); ?>">X</a></td>
                </tr>
            <?php endwhile; ?>
        </tbody>
    </table>
</body>

Voici mon code HTML.
<?php

if (isset($_POST['Promo'])) {
    $promoinsert = $_POST['Promo'];
    $sqla = "INSERT INTO promotion (nom) VALUES ('$promoinsert')";
    $conn->query($sqla);
}


$sql = "SELECT * FROM promotion ORDER BY nom ASC";
$stmt = $conn->query($sql);
   
?>

Voici mon code PHP qui me sert à afficher les promo (classes) et d'en ajouter si je veut.
<?php

$supp = "DELETE FROM promotion WHERE id=$_GET[id]"; 
$conn->query($supp);
header("location: index.php");

?>
Voici mon code pour supprimer des promo.

<td><a id="Del" href="delete.php?id=<?php echo htmlspecialchars($row['id']); ?>">X</a></td>
C'est cette élément là qui me permet de faire apparaitre un bouton pour supprimer et c'est celui-là que j'aimerais cacher quand la promo à des étudiant.
J'ai penser a le cacher de base et de l'afficher quand la promo ne comporte pas d'étudiants.

J'espère que c'est claire car mon code est diviser en plusieurs dossier et fichier ou je fait des require.
$Exist = "SELECT *
FROM `promotion`
WHERE EXISTS (
    SELECT *
    FROM `etudiant`
    WHERE promotion_id = promotion.id
  )";

J'ai fait ça aussi comme requête a ma bdD sql a partir de mon PHP. Je l'ai test dans ma bdD et la requête me remonte bien que les promotions qui contiennent des étudiants. Maintenant je cherche comment avec cette requête changer le display en none de la ligne suivante
<td><a id="Del" href="delete.php?id=<?php echo htmlspecialchars($row['id']); ?>">X</a></td>

Je voudrais avoir le résultat comme l'image ci-dessous ( Résultat obtenu en modifiant via F12 upload/1655286068-84677-img.png )
Modifié par 1Kylo (15 Jun 2022 - 11:42)