Форум программистов, компьютерный форум, киберфорум
PHP: базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 35

Как правильно вписать условие в функцию чтобы все работало?

25.07.2013, 14:41. Показов 1087. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
В это условие...
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
/*  === Поиск ===  */
function search(){
    $search = clear($_GET['search']);
    $result_search = array(); // результат поиска
    
        
    if(mb_strlen($search, 'UTF-8') < 3){
        $result_search['notfound'] = "<div class='error_search'>Поисковый запрос должен содержать<br /> не менее 3-х символов!</div>";
    }else{
        $query = "SELECT goods_id, name, img, anons_list, anons, price, hits, new, sale, articul
                    FROM goods
                        WHERE MATCH(name, keywords, articul, anons_list, anons, content) 
                            AGAINST('$search*' IN BOOLEAN MODE) AND visible='1'";
        $res = mysql_query($query) or die(mysql_error());
        
        if(mysql_num_rows($res) > 0){
            while($row_search = mysql_fetch_assoc($res)){
                $result_search[] = $row_search;
            }
        }else{
            $result_search['notfound'] = "<div class='error_search'>По Вашему запросу ничего не найдено!</div>";
        }
        
    }
    
    return $result_search;
}
/*  === Поиск ===  */
Вставить это
PHP
1
2
3
4
if(empty(trim($_GET['search']))){
//Поле пустое
}else{
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
25.07.2013, 14:41
Ответы с готовыми решениями:

Как правильно вписать функцию в h-файл и правильно её отразить в основной функции?
Создать внешнюю библиотеку, в которой написана функция вывода символьного массива обратном порядке. Подключить данную библиотеку к ...

Что нужно добавить в конфигурации, чтобы все работало как необходимо?
Что нужно добавить в конфигурации, чтобы все работало как необходимо? Конфигурацию и скрины прилагаю. Необходимо чтобы: -...

народ, объясните юзеру как исправить свое творение, чтобы все работало адекватно
программа переделывает *.mrk в *.txt файл с удалением не нужных столбцов.. в программе 3 формы : главная Form1, выбор действия YESNO ,...

7
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
25.07.2013, 23:10
ну в самое начало и воткните.. А проще перед вызовом проверять..
0
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 35
26.07.2013, 03:01  [ТС]
Цитата Сообщение от KOPOJI Посмотреть сообщение
ну в самое начало и воткните.. А проще перед вызовом проверять..
Как ни пробовал показывает ошибку
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
26.07.2013, 04:35
empty -- не функция, а конструкция языка. сделайте так, если это именно то, что вам нужно:
PHP
1
2
$tmp = trim($_GET['search']);
if (empty($tmp)) ...
то есть под empty должна быть одна единственная конкретная переменная, а не результат функции или константа, или что-то еще
0
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 35
26.07.2013, 12:38  [ТС]
Вот как я вставил, но появились опять проблемы
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/*  === Поиск ===  */
function search(){
    $search = clear($_GET['search']);
    $result_search = array(); // результат поиска
    $tmp = clear($_GET['search']);
    
    if (empty($tmp)){
        
    }else{
        $result_search['notfound'] = "<div class='error_search'>Поисковый запрос должен содержать<br /> не менее 3-х символов!</div>";
    }
    
    if(mb_strlen($search, 'UTF-8') < 3){
        $result_search['notfound'] = "<div class='error_search'>Поисковый запрос должен содержать<br /> не менее 3-х символов!</div>";
    }else{
        $query = "SELECT goods_id, name, img, anons_list, anons, price, hits, new, sale, articul
                    FROM goods
                        WHERE MATCH(name, keywords, articul, anons_list, anons, content) 
                            AGAINST('$search*' IN BOOLEAN MODE) AND visible='1'";
        $res = mysql_query($query) or die(mysql_error());
        
        if(mysql_num_rows($res) > 0){
            while($row_search = mysql_fetch_assoc($res)){
                $result_search[] = $row_search;
            }
        }else{
            $result_search['notfound'] = "<div class='error_search'>По Вашему запросу ничего не найдено!</div>";
        }
        
    }
    
    return $result_search;
}
/*  === Поиск ===  */
PHP ошибку не выдает, и при нажатии на кнопку поиск с пустой ячейкой выдает как надо, но появилась 1 проблема все что я не ввел уже показывает то же самое что и с пустой ячейкой...
Как это исправить?
Я хочу чтобы поиск по сайту производился также как и было, но еще чтобы выводило мое сообщение если в поле ничего не ввели...
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
26.07.2013, 12:50
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
class SearchException extends Exception{}
 
function search(){
    $search = clear(trim($_GET['search']));
    $result_search = array(); // результат поиска
    
    if (empty($search) || mb_strlen($search, 'UTF-8') < 3 ) throw new SearchException('Поисковый запрос должен содержать<br /> не менее 3-х символов!');
     
    $query = "SELECT goods_id, name, img, anons_list, anons, price, hits, new, sale, articul
                    FROM goods
                        WHERE MATCH(name, keywords, articul, anons_list, anons, content) 
                            AGAINST('$search*' IN BOOLEAN MODE) AND visible='1'";
    $query = mysql_query($query) or die(mysql_error());
    if(!mysql_num_rows($query)) throw new SearchException('По Вашему запросу ничего не найдено!');
    
    while($row_search = mysql_fetch_assoc($query)){
                $result_search[] = $row_search;
    }
    return $result_search;
}
 
try{
 if (isset($_GET['search'])) $data = search();
}
catch(SearchException $error){
 echo "<div class='error_search'>", $error->getMessage()  ,"</div>";
}
0
0 / 0 / 1
Регистрация: 13.07.2013
Сообщений: 35
26.07.2013, 13:14  [ТС]
Цитата Сообщение от crautcher Посмотреть сообщение
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<?
class SearchException extends Exception{}
 
function search(){
    $search = clear(trim($_GET['search']));
    $result_search = array(); // результат поиска
    
    if (empty($search) || mb_strlen($search, 'UTF-8') < 3 ) throw new SearchException('Поисковый запрос должен содержать<br /> не менее 3-х символов!');
     
    $query = "SELECT goods_id, name, img, anons_list, anons, price, hits, new, sale, articul
                    FROM goods
                        WHERE MATCH(name, keywords, articul, anons_list, anons, content) 
                            AGAINST('$search*' IN BOOLEAN MODE) AND visible='1'";
    $query = mysql_query($query) or die(mysql_error());
    if(!mysql_num_rows($query)) throw new SearchException('По Вашему запросу ничего не найдено!');
    
    while($row_search = mysql_fetch_assoc($query)){
                $result_search[] = $row_search;
    }
    return $result_search;
}
 
try{
 if (isset($_GET['search'])) $data = search();
}
catch(SearchException $error){
 echo "<div class='error_search'>", $error->getMessage()  ,"</div>";
}
Обновляю страницу и выдает ошибку
Fatal error: Call to undefined function clear() в $search = clear(trim($_GET['search']));
Но все равно спасибо оригинальный способ))
0
 Аватар для crautcher
2450 / 2301 / 597
Регистрация: 27.05.2011
Сообщений: 7,844
26.07.2013, 13:15
Цитата Сообщение от devid134 Посмотреть сообщение
Обновляю страницу и выдает ошибку
Fatal error: Call to undefined function clear() в $search = clear(trim($_GET['search']));
Ну так а нахрена ты юзаешь функцию которой нет? Я-то по образу и подобию твоего кода делал.
Цитата Сообщение от devid134 Посмотреть сообщение
PHP
1
2
3
/* *=== Поиск === **/
function search(){
    $search = clear($_GET['search']);
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
26.07.2013, 13:15
Помогаю со студенческими работами здесь

Как исправить условие, чтобы правильно функционировало?
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #include &lt;locale.h&gt; #include &lt;string.h&gt; int main() { setlocale(LC_ALL,...

Как правильно завернуть в функцию условие с dataGridView?
Есть условие с помощью которого заносится данные в строки dataGridView из xml . Скажите как это все можно запихнуть в функцию в качестве...

Что поменять чтобы все работало?
Здравствуйте, помогите, пожалуйста, усовершенствовать комп, нужен для работы в основном но и поиграть, видео и тд., в железе не понимаю...

Как написать функцию, чтобы условие при неправильном вводе выполнялось заново?
char alternative; scanf(&quot;%s&quot;, alternative); if ((strcmp(alternative,&quot;Да&quot;)==0)||(strcmp(alternative,&quot;да&quot;)==0)) { ...

Как записать, чтобы работало?
Почему нельзя вот так писать? Как переделать что бы работало? uses crt; const a:array of string = ( ('Создать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru