Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Вопросы / ответы

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: решил поигратся).
etoYA
Отправлено: 21 Декабря, 2011 - 14:47:30
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




Вот решил поигратся и сделал скрипт FAQ. Не совсем обычный.

В общем есть форма, в которую пользователь вводит вопрос, если вовпрос найден, то ему покажет сразу ответ, если не найден, то добавит его в базу. А в файле admin.php выводится список вопросов без ответа. Есть 2 ссыки (удалить, ответить).

Скрипт состоит:

Index.php
admin.php
style.css
img
config.php - настройки для MySQL

Обсираем за говнокод посоны Улыбка

Скачать файл: questions.rar
Скачан раз: 107

(Отредактировано автором: 21 Декабря, 2011 - 14:49:01)

 
 Top
DeepVarvar Супермодератор
Отправлено: 21 Декабря, 2011 - 16:39:17
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




1) пересохранить все в utf-8.
2) вынести основные "манипуляции" в отдельное место.
3) отделить логику от вывода.
4) нет проверки на пустоту строки вопроса.
5) строка вопроса не разбирается по словам, т.е. если в базе есть слово "тест", то вопрос "тест тест" вернет пустой результат.

так на вскидку пока все...
 
 Top
etoYA
Отправлено: 21 Декабря, 2011 - 16:58:09
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




DeepVarvar пишет:
1) пересохранить все в utf-8.

сделал
DeepVarvar пишет:
2) вынести основные "манипуляции" в отдельное место.

Непонял...
DeepVarvar пишет:
3) отделить логику от вывода.

Непонялл. Эт в разных файлах чтоли?
DeepVarvar пишет:
4) нет проверки на пустоту строки вопроса.

Сделал
DeepVarvar пишет:
5) строка вопроса не разбирается по словам, т.е. если в базе есть слово "тест", то вопрос "тест тест" вернет пустой результат.

Это выборку нужен разбить функцией explode(), а потом уже искать по словам?
 
 Top
DeepVarvar Супермодератор
Отправлено: 21 Декабря, 2011 - 17:04:41
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




2 и 3 почти одно и то же. Вынести не обязательнов отдельный файл. Но обязательно все расчеты вынести вверх, до вывода в браузер.

5 - да
 
 Top
etoYA
Отправлено: 21 Декабря, 2011 - 17:08:40
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




DeepVarvar, хм.. А как же разбить выборку если там LIKE

PHP:
скопировать код в буфер обмена
  1.  
  2. $result = mysql_query("SELECT `answer` FROM `questions` WHERE `question` LIKE '%$question%' AND answer != ''  LIMIT 1");
  3.  

(Добавление)
Как я понял, тут уже нужно без LIKE.

Пост запрос разбить на массив, потом уже искать по словам чезе in_array()?
 
 Top
Slesher
Отправлено: 21 Декабря, 2011 - 17:33:34
Post Id


Гость


Покинул форум
Сообщений всего: 69
Дата рег-ции: Дек. 2011  


Помог: 0 раз(а)




etoYA, пробуй match against
 
 Top
etoYA
Отправлено: 21 Декабря, 2011 - 20:44:28
Post Id



Участник


Покинул форум
Сообщений всего: 1859
Дата рег-ции: Июль 2011  
Откуда: Крым


Помог: 21 раз(а)




что-то не получилось
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Наработки по собственным проектам »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB