Autor Zpráva
tomas2245
Profil
Zdravím, ako by som vedel nastaviť SELECT tak, keď mám kód takto:

$dotaz = "";

$vrat = mysqli_query($pripoj,"SELECT meno, priezvisko FROM objednavky WHERE skupina='$cisloskupiny' AND priezvisko LIKE 'C%'");
while($vrat2 = mysqli_fetch_array($vrat)){

$dotaz .='
    '.$vrat2['priezvisko'].' '.$vrat2['meno'].'';
}

proste ten kód mi vyberie z tabuľky objednávky všetky riadky ktoré obsahujú v stĺpci priezvisko ako prvé písmeno "C".
To je všetko v poriadku, do tej doby, kým nie sú v tabuľke riadky typu "Ch" alebo "Č"...
ako by som docielil to, aby to vyberalo iba podľa prvého písmena a rozlišovalo diakritiku?
Keeehi
Profil
tomas2245:
C od Ch nerozlišíš, jelikož ch prostě není jeden znak. C a Č by rozlišit jít mělo. Když nastavíš sloupci kódování utf8_bin, mělo by to začít rozlišovat diakritiku. A zároveň to bude rozlišovat i velikost písmen.
tomas2245
Profil
Keeehi:
ďakujem, funguje, to s tým C a Č / D Ď, akurát to utf8_bin nerozlišuje veľkosť písmien...
Kcko
Profil
tomas2245:
Takhle se to nereší, navíc přes LIKE to je zbytečně pomalé. V aplikační vrstvě (PHP), si při uložení daného řádku zajisti, aby se Ti do nově přidaného sloupce (třeba pismeno) uložilo i první písmeno, přes které pak hledáš. Např. Charvát, Čačala, Cenkl (všechno má být dohledatelné přes "C") uložíš => C. Vyjímku bych dělal u CH (tj, místo jednoho písmena bych ukládal Ch).
tomas2245
Profil
Kcko:
okej, to znie ako dobrý nápad, spravím to tak diky :)
Pavlínka
Profil
z vlastní zkušenosti doporučuji nastavit utf8_czech_ci s utf8_bin jsem měla nejednou problém při výpisu spec. znaků na webu
tomas2245
Profil
Pavlínka:
ďakujem :) nastavil som to na utf8_slovak_ci :)


ešte mám takú otázku všetko mi funguje to ukladanie písmien, len si neviem dať rady s týmto:

$pismeno = substr($priezvisko, 0, 1); //zoberem prvý znak z priezviska
$pismeno = ucfirst($pismeno); //ak je znak malý tak ho prepíšem na veľký

všetko funguje, len ak zadám priezvisko s diakritikou napr. Š, Č, Ť tak sa mi to nezapíše.. kde je problém?
pcmanik
Profil
tomas2245:
Musíš použivať funkcie z rodiny Multibyte String Functions.
tomas2245
Profil
ďakujem

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: