Autor | Zpráva | ||
---|---|---|---|
slawe Profil |
#1 · Zasláno: 1. 11. 2013, 20:30:05
Nazdar borci,
Mám takový problém s jednou mou starší prací. Jedná se o zpracování formu, kdy se pak, mimo jiné, ukládá do databáze jméno, příjmení a první písmeno z příjmení nějaké osoby. To písmeno slouží k filtraci ve výpisu osob. No a problém je ten, že když je vkládán člověk, jehož první písmeno má háček či čárku (Šulák, Černý, Žižka, atd.), tak se to písmeno neuloží a ani neselectne. Rovněž mám i zjištění ohledně jmen na „Ch“, které mi ale taky nejede. Nějaký nápad co s tím? Díky if (isset($_POST["send"])) { if (isset($_POST["multi"])) $pismeno = 0; else { $slovo = $_POST["prijmeni"]; if ($slovo[0] == 'C' && $slovo[1] == 'h') {$pismeno = "Ch";} else {$pismeno = $slovo[0];} } } |
||
Alphard Profil |
#2 · Zasláno: 1. 11. 2013, 20:36:26
Pokud používáte utf-8, tak znaky s diakritikou nelze vybírat podle pořadí bajtu, pomůže mb_substr(). Ch by mělo být ok.
|
||
juriad Profil |
#3 · Zasláno: 1. 11. 2013, 20:37:50
Není lepší takový sloupec v databázi nemít a hledat osoby podle začátku jména?
SELECT jmeno FROM osoby WHERE jmeno LIKE 'Ch%' # případně LIKE 'Č%' |
||
Tori Profil |
#4 · Zasláno: 1. 11. 2013, 20:55:19
juriad:
AFAIK samostatný sloupec je rychlejší, v jedné databázi (řádově tisíce záznamů) jsem to takhle měnila, z LIKE na =, a bylo to rychlejší. (Ale taky kromě toho jsem taky potřebovala vyhledávat všechna zač.písmena podle jak anglického, tak českého porovnávání, a tam se samostat.sloupec hodil ještě víc.) |
||
slawe Profil |
#5 · Zasláno: 1. 11. 2013, 21:37:37
juriad:
Jak řekla Tori, je to při více záznamech rychlejší. Alphard Díky, vyřešilo mi to hlavní problém s Č,Ř, atd.. Ale Ch však stále zůstává problematické... |
||
Tori Profil |
#6 · Zasláno: 1. 11. 2013, 21:45:01
slawe:
„Ch však stále zůstává problematické...“ Která část - rozpoznání nebo uložení? |
||
Alphard Profil |
Nevidím důvod, aby s tím byly problémy, spíš by to celkově chtělo ten script trochu pojistit
ucwords(mb_substr(trim('Chameleon'), 0, 2)) == 'Ch' A při ukládání samozřejmě potřebujete 2 znaky, na nápad mě přivedla [#6] Tori. |
||
slawe Profil |
#8 · Zasláno: 1. 11. 2013, 22:10:04
Ano, jsem kre*én, taky mě mohlo napadnout porovnávat oba znaky najednou a ne jen po jednom :D V tom byl problém. Děkuji všem za pomoc, už to fičí :)
|
||
Časová prodleva: 10 let
|
0