Approfondissement de la question du menu mysql (dynamisé) [Fermé]

Signaler
Messages postés
110
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
24 juillet 2018
-
Messages postés
110
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
24 juillet 2018
-
Bonjour le forum,

Jordane45, suite à ta demande j'ouvre une nouvelle question, en ligne avec le fil résolu (un souci dans un menu simple dans le contexte de taleau mysql).
Je reprend ma petite question subsidiaire (là je ne sais pas comment faire du tout).
Comme mon menu fait plus de 300 lignes, bonjour la galère avec l’ascenseur pour les mots commençant au delà de la lettre n !
Donc pourrais-tu me piloter pour le rendre un peu dynamique avec php (avec ou pas de js) ?
3 options,
simple, je met des signets A | B | C | D etc au début de la liste et alors dans ma requête sql il faut insérer des intertitres avec une lettre seule à chaque fois que les mots changent de 1ère lettre, par exemple en passant de A à B sans casse (les 26 lettres de l’alphabet sont bien utilisées, majuscule ou minuscule)

avancée, en clonant mon menu statique précédent avant MySql (avec mon js existant), et là je devrais pouvoir partir de l’option 1, car avec mon js je n’ai que 2 types de code :
Pour une lettre seule : <div class="menu" id="menu1" onclick="afficheMenu(this)"><a href="#">A</a></div><div id="sousmenu1" style="display:none"> (A correspond à 1, B à 2 etc., donc 3 occurrences variables, lettre, nombre, nombre)
Pour chaque mot : <div class="sousmenu"><a href="mapage.php?Rang=$rang"><i>$monliennomassocie</i></a></div>

sophistiquée (seulement du php), pas de signet et le menu ne comprend que les 26 lettres de l’alphabet verticalement et en cliquant sur une lettre le menu se déploie pour faire apparaître les mots avec comme 1ère lettre la lettre en question (c’est ce que j’avais avant MySql, mais comme indiqué ci-dessus, j’utilisais un js)

J’espère que tu peux m’aider sans te prendre la tête (l’option 1 me va bien, mais je suis souple car j'ai d'autres menus similaires à réaliser, un peu comme des angles de vues différents d'une même réalité)

Merci encore !

A+

Seb

1 réponse

Messages postés
110
Date d'inscription
jeudi 13 mai 2010
Statut
Membre
Dernière intervention
24 juillet 2018
5
UP

Bonjour à tous, bonjour le forum,

J’avais mal compris la demande de Jordane4 (de séparer ma question subsidiaire avec une nouvelle question indépendante).
Donc comme elle est resté sans réponse, y compris par lui, je reformule simplement.
J’ai un long menu et je veux le segmenter en mettant une lettre de l’alphabet avant chaque changement de 1ère lettre dans la liste alphabétique, par exemple ‘B’ entre le mots byzantin et canadien dans le menu.

J’ai obtenu ce menu avec le code :
function getMenu($bdd) {
$sql = "SELECT Rang
, monliennomassocie
FROM table1
ORDER BY monliennomassocie";
$result = $prepare->fetchAll();

foreach($result as $row){
$rang = $row['Rang'];
$monliennomassocie = $row[' monliennomassocie'];
echo "<a href='mapage.php?Rang=$rang'>
<i>$monliennomassocie</i>
</a>";
}
}


Je ne sais pas comment faire pour ajouter mes lettres au bon endroit, je ne sais pas s’il faut une condition dans le code actuel ou après.

Donc je cherche une piste, en tant que « codeur » débutant en PDO.

Merci d’avance