Eléphanteau du PHP |
39 Messages
12 juil. 2016, 17:59
Bonjour or1 et aureusms,
Merci pour ces réactions rapides.
Or1 je n'ai pas compris car je ne retrouve pas mon bout de code. Pourtant cela a l'air lumineux de simplicité... donc ne m'abandonne pas stp et dis moi comment procéder pas à pas (je suis encore débutant!).
Aureusms, J'ai essayé mais y a un bug.
Mais avant je me suis demandé si mon texte n'était pas ambigu :
Je ne veux pas remplacer la 1ère lettre par une majuscule, mais pour chacune de toutes les lettres de l'alphabet (A à Z) intercaler une lettre seule pour séparer (d'ailleurs j'y ajouterai un signet pour un accès rapide depuis le haut) et aérer.
Par exemple entre le dernier mot 'monlienavecnomassocie' en c et le premier mot 'monlienavecnomassocie' en d de mon menu je veux intercaler <p> </p><a name="D">D</a><p> </p> (avec en haut du menu <a href="#D">D</a> pour la lettre D par ex)
et dans le menu je verrai
cuneiformes monlienavecnomassocie
<a name="D">D</a>
darien monlienavecnomassocie
Bon voici le code après adaptation, et une broutille modifiée (il est bon jusqu'à $tabTmp = array();)
Code : Tout sélectionner
$requete = $connexion->prepare("SELECT Rang, Monlienavecnomassocie FROM table1 ORDER BY Monlienavecnomassocie");
$requete->execute();
$result = $requete->fetchAll();
foreach ($result as $row) {
echo'<p> <a href="mapage.php?Rang=' . $row["Rang"] .'"><i>' . $row["Monlienavecnomassocie"]. '</i></a></p>';
}
$tabTmp = array();
$i=0;
foreach ($result as $cle => $valeur) {
$tabTmp[$i] = mb_strtolower(substr($valeur['Monlienavecnomassocie'],0,1),'utf-8');
$i++;
endforeach;
$tabTmp = array_filter(array_unique($tabTmp));
$i=0;
foreach($result as $cle => $row) {
$texte = (in_array($i,array_keys($tabTmp))) ? uc_first($row['Monlienavecnomassocie']) : $row['Monlienavecnomassocie'];
echo'<p> <a href="mapage.php?Rang=' . $row["Rang"] .'"><i>' . $texte . '</i></a></p>';
$i++;
}
}
J'ai une erreur à la ligne qui correspond à:
endforeach;
J'ai aussi un souci de compréhension pour la création de $cle et pour l'ajout de mon signet destinataire (<a name="D">D</a>)
Ne t'inquiète pas pour les accents, il n'y en a pas
A vous lire tous le 2 et encore mercis !
A+, Seb