Buchstaben-Leiste
Autor: Ralf v.d.Mark
eingetragen: Donnerstag, 04. Oktober 2012 um 14:36 Uhr (40/2012 Kalenderwoche)
geändert: Freitag, 09. November 2018 um 11:25 Uhr (45/2018 Kalenderwoche)
Keywords: alphabet buchstaben
Kategorien: HTML, DB: MySQL, PHP, DB: MariaDB,
Text:
Alphabetische Liste, um z. B. ein Register für ein Telefonbuch zu erstellen.
Beispiel ergibt folgende Ausgabe:
A B C D E F G
Möglichkeit 2:
Damit nur die Buchstaben gezeigt werden, die auch vorkommen, kann man folgende Query benutzen (Beispiel für MySQL, siehe ganz unten)
Möglichkeit 3:
Alle Buchstaben werden angezeigt, aber nur die die vorkommen sind klickbar
**Hinweis: & #9398; erzeugt ein "A im Kreis" Ⓐ **
https://download.website-vdm.de/stringumformer/charunicode.php?s...
siehe auch:
HTML: Unicodeblock piktografische Symbole
Quellcode:
for ($i = 65; $i <= 90; $i++) {
if (!empty($buchst) && $buchst == chr($i)) {
$styleBuchstabe = ' style="font-size: 1.5em;
background-color: #19633E;
color: #E6EAB2;"';
} else {
$styleBuchstabe = '';
}//ENDE: else ==> if()
echo '<a href="index.php?id=6&buchst='.chr($i).'"'
.$styleBuchstabe
//& #9398; = A im Kreis
.' title="'.chr($i).'">&#'.($i + 9333).';</a>';
}//ENDE: for ($i = 65; $i <= 90; $i++) ;
-------------------------------------------
Möglichkeit 2:
MySQL-Query:
--
SELECT UCASE(SUBSTRING(`pers_name`, 1, 1)) AS buchst_name,
COUNT(`pers_id`) AS personen_anzahl
FROM `personen`
GROUP BY buchst_name
ORDER BY buchst_name
--
<?php
$resultQuery = mysql_query(...);
while ($ergebnsArr = mysql_fetch_assoc_uni($resultQuery)) {
if (!empty($buchst) && $buchst == $ergebnsArr['buchst_name']) {
$styleBuchstabe = ' style="font-size: 1.5em;
background-color: #19633E;
color: #E6EAB2;"';
} else {
$styleBuchstabe = '';
}//ENDE: else ==> if()
echo '<a href="index.php?id=6&buchst='.$ergebnsArr['buchst_name'].'"'
.$styleBuchstabe
.'title="'.$ergebnsArr['personen_anzahl']
.' Personen anzeigen ...">'
.' '.$ergebnsArr['buchst_name'].' </a>';
}
/* Möglichkeit 3 (Kombination aus 1 und 2):
MySQL-Query:
--
SELECT UCASE(SUBSTRING(`pers_name`, 1, 1)) AS buchst_name,
COUNT(`pers_id`) AS personen_anzahl
FROM `personen`
GROUP BY buchst_name
ORDER BY buchst_name
--
$resultQuery = mysqli_query(...);
$ergebnsArr = mysqli_fetch_assoc($resultQuery);
for ($i = 65; $i <= 90; $i++) {
if (!empty($buchst) && $buchst == $ergebnsArr[chr($i)]['buchst_name']) {
$styleBuchstabe = ' style="font-size: 1.5em;
background-color: #19633E;
color: #E6EAB2;"';
} else {
$styleBuchstabe = '';
}//ENDE: else ==> if()
if (!empty($ergebnsArr[chr($i)]['buchst_name'])
&& chr($i) == $ergebnsArr[chr($i)]['buchst_name']) {
echo '<a href="index.php?id=6&buchst='
.$ergebnsArr[chr($i)]['buchst_name'].'"'
.$styleBuchstabe
.'title="'.$ergebnsArr[chr($i)]['personen_anzahl']
.' Personen mit *'.chr($i).'* anzeigen ...">'
.'&#'.($i + 9333).';</a>';
} else {
echo ' '.chr($i).' ';
}
}