Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Wyszukiwarka i literki (Polskie)
Forum PHP.pl > Forum > Bazy danych > MySQL
ShAdOw MaN
Witam
oto problemik
mam takie zapytanie do bazy

[php:1:70972ae3bc]<?php
$query = mysql_query("SELECT * FROM hity WHERE " . $_POST['kryterium'] . " LIKE '%" . $_POST['dane] . "%' ORDER BY tytuly");
?>[/php:1:70972ae3bc]

wykorzystuje to w prostym skrypcie do wyszukiwania danych.
Problem jest taki że rozpoznaje mi wielkość polskich znaków (z innymi nie ma żadnych problemów)
np. mam w bazie tytuł "Łowca obcych" i zeby go odszukać musze wpisać w formularzu szukania "Łowca" bo na "łowca" nic nie znajduje.

Próbowałem zmienić wielkość liter za pomocą

[php:1:70972ae3bc]<?php
$txt="$_POST[wartosc]";
$txt = strtr($txt, "ąćęłńóśźż", "ĄĆĘŁŃÓŚŹŻ");
$dane="$txt";
$dane2=strtoupper($dane);
?>[/php:1:70972ae3bc]

oraz zmieniłem zapytanie na

[php:1:70972ae3bc]<?php
$query = mysql_query("SELECT * FROM hity WHERE " . $_POST['kryterium'] . " LIKE '%" . $_POST['dane] . "%' OR " . $_POST['kryterium'] . " LIKE '%" . $dane2 . "%' ORDER BY tytuly");
?>[/php:1:70972ae3bc]

ale wywala mi błąd.

Nie mam pojęcia jak to można rozwiązać.
Będe wdzięczny za każdą pomoc!
krzych
a może tak:
[php:1:5e3e91c566]<?php

$query = mysql_query("SELECT * FROM hity WHERE UPPER(". $_POST['kryterium'] .") LIKE '%"
.strtoupper($_POST['dane']). "%' ORDER BY tytuly");

?>[/php:1:5e3e91c566][/code]
ShAdOw MaN
Niestety nie działa.
Z tego co wiem strtoupper() zmienia wielkość liter ale nie polskich.
Czy można jeszcze jakoś inaczej to rozwiązać?
DeyV
zamiast korzystać z funkcij php do zmiany wielkości znaków, możesz skorzystać z funckji wbudowanych w MySQL.
[sql:1:1197af22b1]LCASE(str)
LOWER(str)

UCASE(str)
UPPER(str) [/sql:1:1197af22b1]
ShAdOw MaN
ta funkcja UPPER() była wykorzystana przy rozwiązaniu krzycha, ale też nie działało
Chyba że trzeba ją wykorzystać jakoś inaczej??
dreamweb
Witam

musisz zmienic kodowanie bazy danych

default-character-set = latin2

pozdr.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.