|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.05.2011, 21:40 | #1 |
Пользователь
Регистрация: 17.05.2011
Сообщений: 10
|
PHP поиск + несколько преобразований
Добрый вечер.
По учебе задали проект - написать небольшой сайт который хранит в базе данных статьи зарегистрированных пользователей. Вот при проектировке его встретился с вопросами, на которые однозначного ответа пока я так и не нашел. Надеюсь, что здесь я найду ответ и так, излагаю. Сейчас сайт разрабатываю у себя на компьютере. Использую в качестве сервера Apach + PHP + MySQL (Denwer) Есть база данных. В ней на данный момент 2 таблицы: пользователи (id, логин, пароль, email, валидация) статьи (id, название, краткое описание, полное описание, дата_создания, hide, user_id) user_id связан с пользователи.id hide - поле показывает, будет ли выводиться статья в поиске или нет. 1й вопрос - в таблице статьи нужно поле где будет храниться ссылка на статью, или существует метод преобразования обычного текста в ссылку (если да, то тогда бы я использовал в качестве линка - название статьи) Первое - это поиск на php. Сам поиск я практически сделал. Мне нужно немного доработать его с вашей помощью, а именно мне нужно, чтобы на пример в запросе "Дерево и цветок" поиск осуществлялся только по словам "Дерево" и "Цветок" Второе - корректный вывод данных Допустим в базе данных хранится 300 статей. Из них в поиск попало 200 статей. Подскажите пожалуйста, как вывести на каждую страницу только по 20 статей, а с низу сделать переход по страницам 1 | 2 | 3 | 4 (прим. Яндекс) Третье - генерация ссылки Немного решил усложнить задачу. Хочу реализовать, но пока не знаю как: когда пользователь, авторизовавшись, решает добавить статью, в специальный инпут, генерировалась ссылка на эту статью типа http://www.сайт1.ru/1.html чисто только чтобы было число, т.е ссылка на другую статью была http://www.сайт1.ru/100500.html и тд. Я так понимаю, нужно это делать инкриментом. Сам код поиска сейчас выглядит так: PHP код:
|
17.05.2011, 21:54 | #2 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
1. Понятно, что какая-то ссылка у статьи должна быть, преобразования можно сделать через mod_rewrite. Тогда можно сделать что-то типа site.ru/ABCDE - а при этом будет открываться что-то другое, или же просто вот так и будет.
2. Постраничный вывод - надо поискать по словам. В целом делается через LIMIT. 3. Можно хранить текущее число статей, а при добавлении считывать его и делать инкремент |
17.05.2011, 22:12 | #3 |
Пользователь
Регистрация: 17.05.2011
Сообщений: 10
|
1. Хорошо, в принципе да, а можно по подробнее узнать на счет этих преобразований, но при этом, чтобы в запросе - выводился чисто заголовок статьи.
2. Где можно найти хотя бы примерный код, чтобы на основании его (подкорректировав) сделать то что нужно. 3. Где именно лучше хранить? в принципе можно при каждом новом добавлении статьи, перед добавлением естественно, делать запрос на выборку всех статей, сохранить в переменную, и к ней прибавить +1 да? так? |
17.05.2011, 22:28 | #4 |
Участник клуба
Регистрация: 28.06.2009
Сообщений: 1,950
|
1. Может, я не до конца понял, что нужно, но в целом в Гугле можно поискать по mod_rewrite.
Вот пример: Код:
2. Поискать здесь или в Гугле по словам "постраничный вывод"+PHP+MySQL 3. Можно хоть в файле простом текстовом. Число с кол-вом всех статей. Ну или специальное поле в БД. Считывать надо будет это число и прибавлять. Либо как-то автоматически |
17.05.2011, 22:49 | #5 |
Пользователь
Регистрация: 17.05.2011
Сообщений: 10
|
Все хорошо, спасибо большое. Если будут сложности, то я снова сюда напишу.
|
17.05.2011, 22:52 | #6 |
Форумчанин
Регистрация: 12.11.2010
Сообщений: 146
|
ответ
1. поиск у вас гавно
2. открыты пути хакерам и лузерам которые знают об инджекте, при желании я выведу и сохраню дамп у себя всех статей на сайте 3. ссылка генерируется ишодля из значений вставленых в мускул, если это без mod_rewrite то простым $_GET параметром со структурой ?id=321, где 321 это айди поля из базы с автоинкрементом 4. phpclasses.org- поиск - pagination Советы: Фильтровать данные при работой с бд, минимум- htmlentities или strip_tags и mysql_real_escape_string Для поиска дам функцию которая подготавливает строку к полнотекстовому поиску посредством REGEXP PHP код:
|
17.05.2011, 23:09 | #7 |
Пользователь
Регистрация: 17.05.2011
Сообщений: 10
|
вот поэтому сюда и обратился, что всех тонкостей не знаю
спасибо за помощь на счет pagination можно в кратце, своими словами. Что это есть такое Последний раз редактировалось mr.saalexander; 17.05.2011 в 23:12. |
18.05.2011, 07:26 | #9 | |
Заблокирован
Форумчанин
Регистрация: 30.12.2009
Сообщений: 544
|
Цитата:
ИМХО, писать свою CMS с нуля без использования каких-либо фреймворков - вот извращение.
Темы для WordPress. Русские WordPress шаблоны
|
|
18.05.2011, 08:31 | #10 |
Пользователь
Регистрация: 17.05.2011
Сообщений: 10
|
давайте не будем разводить "извращение" не "извращение". Просьба была не такая. На счет сфинкса - спасибо, прочитал - вроде бы хорошая штука.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Вывод побитовый преобразований | EddieG | Общие вопросы C/C++ | 2 | 19.09.2010 17:18 |
Шифрование методом аналитических преобразований | Margosha89 | Помощь студентам | 0 | 31.05.2010 16:04 |
Шифрование методом аналитических преобразований! | Margosha89 | PHP | 7 | 31.05.2010 11:49 |
Поиск в листе Excel одного значения несколько раз | Andr3000 | Microsoft Office Excel | 2 | 23.04.2010 10:24 |
Вывод массива после некоторых преобразований в С++ | xnise | Помощь студентам | 8 | 05.12.2009 12:13 |