Zadejte hledaný výraz...

Výpis do HTML se nedaří provést správně

Vypisuji si jména podle abecedy v tomto znění ... ale nedaří se jména vložit správně do HTML kódu s DIVy.
A
Adam
B
Barbora
Bartoloměj
Beáta
HTML kód:

A

Adam

B

Barbora
Bartoloměj
Béata
Aktuálně mám PHP script v tomto znění, který není 100% funkční:
$pamet = "";
foreach ($vypis_jmena as $jmeno) {
$pismeno = substr($jmeno, 0,1); // získání prvního písmena z tabulky SEO, kde jsou odkazy: adam-a-eva -> substr() získá "a"
if ($pismeno != $pamet) {
echo '

'.strtoupper($pismeno).'

'."n";
}
echo '
'.$jmeno.'
'."n";
if ($pismeno != $pamet) {
echo '
';
}
$pamet = $pismeno;
}
PHP vypisuje toto:

A

Adam

B

Barbora
Baroloměj
Béata

C

11. 11. 2014 09:58:09
https://webtrh.cz/diskuse/vypis-do-html-se-nedari-provest-spravne/#reply1067878
Macejko.sk
verified
rating uzivatele
(5 hodnocení)
11. 11. 2014 10:07:57
Nic v zlom. Ale to co pises je hovnokod.
Relativne lahky skript, si napisal tak, ze je priserne neprehladny a ani sam sa v nom evidentne nevies vyznat.
Vyextrahovat logiku do triedy (alebo aspon do funkcii). Pomenuj premenne ako clovek a uvidis, ze ti to pojde lahsie.
11. 11. 2014 10:07:57
https://webtrh.cz/diskuse/vypis-do-html-se-nedari-provest-spravne/#reply1067877
polygon4
verified
rating uzivatele
11. 11. 2014 16:21:43
Triedenie myslim ak som to spravne pochopil musis previest na strane MySql nie PHP-cka. Cele to je zle postavene. Nikde nieje MySql.
11. 11. 2014 16:21:43
https://webtrh.cz/diskuse/vypis-do-html-se-nedari-provest-spravne/#reply1067876
crs
verified
rating uzivatele
(1 hodnocení)
13. 11. 2014 18:02:12
Pokud máš jména v databázi, nech si je vypsat seřazená, např.:
$names=dibi::query("SELECT DISTINCT jmeno FROM ORDER BY jmeno COLLATE utf8_czech_ci");
$letter=null;
foreach ($names as $name) {
if (($first=strtoupper(substr($name, 0, 2))) != 'CH')
$first=substr($first, 0, 1);
if ($letter != $first)
echo '

'.htmlspecialchars($letter=$first)."

n";
echo '
'.htmlspecialchars($name)."
n";
}
13. 11. 2014 18:02:12
https://webtrh.cz/diskuse/vypis-do-html-se-nedari-provest-spravne/#reply1067875
Smazany ucet 253
verified
rating uzivatele
(3 hodnocení)
14. 11. 2014 03:04:36
pokud to nemáš v databázi, tak vyzkoušej toto:
header("Content-Type: text/html; charset=UTF-8");
function mb_ucfirst(&$names) {
$strlen = mb_strlen($names, 'UTF-8');
$firstChar = mb_substr($names, 0, 1, 'UTF-8');
$then = mb_substr($names, 1, $strlen - 1, 'UTF-8');
$names = mb_strtoupper($firstChar, 'UTF-8') . $then;
}
$names = array('Karel','Tomáš','Agáta','Aneta','Ludvík','Jelimánek','Cecílie','Hovnivál','Trpaslík','Komár','Pepa','Pepek Námořník','čeněk','čenda');
array_walk($names, 'mb_ucfirst');
$dump = array();
if (extension_loaded('intl') === true) {
collator_asort(collator_create('root'), $names);
} else {
setlocale(LC_ALL, 'cs_CZ.UTF-8', 'czech');
usort($names,'strcoll');
}
foreach ($names AS $name) {
$first = mb_substr( $name, 0, 1, 'UTF-8');
if (!in_array($first,$dump)) {
$dump[] = $first;
echo "
{$first}
";
}
echo "• {$name}
";
}
?>
třeba ti to pomůže zdokonalit se zkoumáním, jak to všechno funguje
14. 11. 2014 03:04:36
https://webtrh.cz/diskuse/vypis-do-html-se-nedari-provest-spravne/#reply1067874
Pro odpověď se přihlašte.
Přihlásit