par
minwolf999 » 18 janv. 2023, 18:46
Bonjour, voilà j'ai actuellement un menu déroulant (codé comme ceci)
Code : Tout sélectionner
$competencesData = $db->query('
SELECT c.id, c.nom, cc.nom as categorie
FROM competence c
INNER JOIN categorie_competence cc
ON cc.id = c.categorie_competence_id
')->fetchAll();
$competences = [];
foreach ($competencesData as $row) {
if (!array_key_exists($row['categorie'], $competences)) {
$competences[$row['categorie']] = [];
}
$competences[$row['categorie']][] = $row;
}
?>
<form method="post" name="ajouterEleve">
<label for="competences">Compétences:</label>
<select id="competences" name="competences[]">
<?php foreach ($competences as $competenceLabel => $competenceRows): ?>
<optgroup label="<?= $competenceLabel ?>">
<?php foreach ($competenceRows as $competence): ?>
<option value="<?= $competence['id'] ?>"><?= ucfirst($competence['nom']) ?></option>
<?php endforeach; ?>
</optgroup>
<?php endforeach; ?>
</select><br>
Cependant étant donnée la taille de chaque catégorie j'aimerais faire en sorte d'avoir un premier menu déroulant et lorsqu'on sélectionne une des catégories que cela affecte un second menu déroulant et affichant dedans les compétences de la catégories sélectionner.
Voilà que se pose un problème je ne sais pas si cela est faisable mais je bloque dessus depuis plusieurs jours sans trouver de solution. Pouvez vous m'aider, ou si cela n'est pas faisable me dire ce qui le rend infaisable ?
Bonjour, voilà j'ai actuellement un menu déroulant (codé comme ceci)
[code]
$competencesData = $db->query('
SELECT c.id, c.nom, cc.nom as categorie
FROM competence c
INNER JOIN categorie_competence cc
ON cc.id = c.categorie_competence_id
')->fetchAll();
$competences = [];
foreach ($competencesData as $row) {
if (!array_key_exists($row['categorie'], $competences)) {
$competences[$row['categorie']] = [];
}
$competences[$row['categorie']][] = $row;
}
?>
<form method="post" name="ajouterEleve">
<label for="competences">Compétences:</label>
<select id="competences" name="competences[]">
<?php foreach ($competences as $competenceLabel => $competenceRows): ?>
<optgroup label="<?= $competenceLabel ?>">
<?php foreach ($competenceRows as $competence): ?>
<option value="<?= $competence['id'] ?>"><?= ucfirst($competence['nom']) ?></option>
<?php endforeach; ?>
</optgroup>
<?php endforeach; ?>
</select><br>
[/code]
Cependant étant donnée la taille de chaque catégorie j'aimerais faire en sorte d'avoir un premier menu déroulant et lorsqu'on sélectionne une des catégories que cela affecte un second menu déroulant et affichant dedans les compétences de la catégories sélectionner.
Voilà que se pose un problème je ne sais pas si cela est faisable mais je bloque dessus depuis plusieurs jours sans trouver de solution. Pouvez vous m'aider, ou si cela n'est pas faisable me dire ce qui le rend infaisable ?