J'ai posé une question similaire plus tôt, mais je vais la poser de nouveau d'une manière différente parce que j'ai retravaillé le code un peu.Comment mettre du texte dans un menu déroulant de sélection en utilisant PHP et CSS? [REDUX]
Je me demandais comment puis-je indenter les catégories et sous-catégories sans fin que j'ai dans un menu déroulant de sélection en utilisant PHP & CSS?
Voici mon code PHP pour afficher la liste déroulante.
echo '<select name="parent_id">
<option value="0">None</option>';
function make_list ($parent) {
global $option;
foreach ($parent as $id => $cat) {
echo '<option value="' . $cat['id'] . '">' . $cat['category'] . '</option>';
if (isset($option[$id])) {
make_list($option[$id]);
}
}
}
$mysqli = mysqli_connect("localhost", "root", "", "sitename");
$dbc = mysqli_query($mysqli,"SELECT * FROM categories ORDER BY parent_id, category ASC");
if (!$dbc) {
print mysqli_error();
}
$option = array();
while (list($id, $parent_id, $category) = mysqli_fetch_array($dbc, MYSQLI_NUM)) {
$option[$parent_id][$id] = array('category' => $category, 'id' => $id, 'parent_id' => $parent_id);
}
make_list($option[0]);
echo '</select>';
Voici la sortie.
1. Apple
2. Arts & Entertainment
1. Amusement
2. Art
3. Artists
1. A
1. a1
2. a2
2. B
3. C
4. D
3. Automotive
4. Network
5. Server
6. Web Design
1. CSS
2. HTML
Les numéros sont juste là pour voir les catégories et sous-catégories plus faciles.
Vous posez sérieusement cette question à nouveau ?? –
@Michael Robinson espérons pour la dernière fois que je change mon code environ trois fois déjà. – mudFLAP