Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Проблема с регистром букв (PHP+MySQL)

Ответить
Настройки темы
Проблема с регистром букв (PHP+MySQL)

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вот, попытался написать более-менее поисковик на свой сайт, возникла проблема в строчке

Код: Выделить весь код
if (strstr($sqltext,"$text")) {
Сдесь я сравниваю текст в mysql базе, с искомым словом.
Проблема в том, что если человек искал "Microsoft", а в тексте написанно "microsoft", то слово считается неподходящим =/
Собственно как отвязать поисковик от различения регистра букв?

Код целиком:
Код: Выделить весь код
<html>
<head>
<title>Поиск</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
</head>
<body>
<? include("root/setup.php"); ?>
<?
//Присутствует ли в поиске спец. символ?
if (strstr($text,"<")!=false) {
echo ("Некорректный запрос. Ошибка 1.");	
exit;
}

//Не пустая ли строчка?
If ($text=='') {
echo ("Некорректный запрос. Ошибка 2.");
exit;
}

else

echo("
Вы искали <b>$text</b>.<br><br>
");
$id=0;
$count=0;
$ir=0;

//получение количества строк в таблице
$count_row=mysql_query ("SELECT COUNT(*) FROM ofa_wwww");
$count_row_array= mysql_fetch_array($count_row);
$count_row_array[0]=$count_row_array[0]-1;

//Соеденяемся с MySQL базой, получаем нужную нам информацию.
for ($in=0; $in<$count_row_array[0]; $in++) {
$id++;
$myquery="select id,text,razdel from ofa_wwww";
$sel=mysql_query($myquery) or die ("Error. Please contact webmaster.");
$idd          = mysql_result($sel,$id,"id");
$sqltext      = mysql_result($sel,$id,"text");
$sqltitle     = mysql_result($sel,$id,"razdel");

//Проверяем, есть ли в строчке таблицы ofa_wwww, искомое слово.
if (strstr($sqltext,"$text")) {
$count++;
echo("
$count. 
");

 echo("+<A HREF='index.php?idd=$idd'>$sqltitle</a><br>");

}

}
//Если ничего не найдено.
if ($count==0) {
echo("Ничего не найдено. Попробуйте смягчить параметры поиска.");
}

?>
</body>
</html>
P.S. сильно не пинать, я только учусь

Отправлено: 23:10, 04-10-2006

 

Новый участник


Сообщения: 12
Благодарности: 0

Профиль | Отправить PM | Цитировать


балин, stristr %)

Отправлено: 23:58, 04-10-2006 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


soundofa
PHP код: Выделить весь код

SELECT idtextrazdel from ofa_wwww WHERE lcase(textlike '%microsoft%'


Отправлено: 00:01, 05-10-2006 | #3


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


soundofa
И сколько строчек в базе? Просто непонятно как оно работает.

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 20:25, 05-10-2006 | #4


Аватара для Arrest

runs with scissors


Сообщения: 642
Благодарности: 77

Профиль | Отправить PM | Цитировать


soundofa
Может просто написать
Код: Выделить весь код
if (strstr(strtolower($sqltext), strtolower("$text"))) {

-------
- Why do you call this version of software 'beta'?
- Coz it's beta than nothing.


Отправлено: 06:41, 06-10-2006 | #5


Ветеран


Сообщения: 1862
Благодарности: 132

Профиль | Сайт | Отправить PM | Цитировать


soundofa
В данном случае неправильно перекладывать на плечи PHP то , что может сделать сама база. А если в базе миллион строк - цикл будет выполнятся миллион раз? То есть надо использовать WHERE
http://dev.mysql.com/doc/ - мануал, хоть и по 4 версии, но все же на русском.
количество возвращенных строк - mysql_num_rows()

-------
ДИЛЕТАНТ - это курьезный человек, который испытывает удовольствие делать то, чего не умеет.
AMD 4200+, MSI Neo2Platinum, 2Gb, ATI 9600, D-Link DWL-G510, FreeBSD 8.0, KDE 4.3.4


Отправлено: 21:48, 06-10-2006 | #6

mar mar вне форума

Аватара для mar

just mar


Moderator


Сообщения: 3904
Благодарности: 163

Профиль | Отправить PM | Цитировать


soundofa
Arrest
ну, собственно, тот запрос, который я выше написала можно считать иллюстрацией к объяснению Igor_I

Отправлено: 23:19, 06-10-2006 | #7



Компьютерный форум OSzone.net » Компьютеры + Интернет » Вебмастеру » Проблема с регистром букв (PHP+MySQL)

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
[решено] Apache 2.2.8 + Php 5.2.6 + MySQL 5.0.51b (win) - не работает php v0f41k Вебмастеру 4 11-05-2008 22:08
[решено] PHP+MySQL=Проблема... помогите решить пожалуйста! programmist72 Вебмастеру 2 03-06-2006 15:50
PHP+MYSQL pauluss Вебмастеру 6 09-07-2004 22:46
PHP and MySql Andrey V2003 Вебмастеру 2 10-10-2003 14:55
Проблема с PHP MySQl ilan Вебмастеру 6 08-07-2003 22:06




 
Переход