|
|
|
| Добрый вечер.. Очень нужен поиск, в котором при вводе в строку поиска, сразу проверяется база данных mysql и выводится чуть ниже результат.
Как мне сказали это достигается только благодаря ajax.
Я обыскал весь интернет.. и нету информации... Может хоть тут кто не будь подскажет как это реализовать???
Я очень надеюсь на вашу поддержку и помощь.
Заранее спасибо! С уважением Анатолий. | |
|
|
|
|
|
|
|
для: Tegis
(11.09.2009 в 22:51)
| | научитесь ползоваться библиотекой например
http://dklab.ru/lib/JsHttpRequest/ (там всё объясняется)
когда научитесь "в фоне" отправлять запросы и обрабатывать ответы,
останется только выполнить запрос к MySQL-серверу, и вывести возвращённый результат поиска | |
|
|
|
|
|
|
|
для: Tegis
(11.09.2009 в 22:51)
| | Алгоритм такой :
форма ввода : поле <input
при вводе символа в поле (надо фильтровать!!!) происходит событие, которое отлавливается яваскриптом
и передает этот символ Аяксом(пост или гет методом) в пхп скрипт в котором осуществляется выборка (поиск) из бд этого символа
если он есть то результат опять-же аяксом (яваскриптом) выводится на страницу
это краткая схема работы... тут самое сложное это фильтрация вх данных ..примеров(рабочих) работы аякса на форуме море... :) | |
|
|
|
|
|
|
|
для: serjinio
(12.09.2009 в 13:26)
| | большое спасибо конечно за ответы... Но а конкретно кто работал с этим? Мне б пример... Попробовал бы разобраться... | |
|
|
|
|
|
|
|
для: Tegis
(13.09.2009 в 21:00)
| | Конечно, но было бы проще привести какой-то конкретный пример, если бы вы привели структуру вашей базы данных, а ещё лучше небольшой дамп, который можно было развернуть и адаптировать для него один из вариантов поиска. | |
|
|
|
|
|
|
|
для: cheops
(13.09.2009 в 21:22)
| | Отлично, сейчас опишу ситуацию.
Поиск нужен для админки, так как база данных рассчитывается на большое количество записей. В одном из разделе админки вся эта куча редактируется...
Допустим у меня таблица называется "akkt"
Вот дамп
-- phpMyAdmin SQL Dump
-- version 2.11.9.5
-- http://www.phpmyadmin.net
--
-- Хост: localhost
-- Время создания: Сен 13 2009 г., 22:19
-- Версия сервера: 5.0.45
-- Версия PHP: 5.2.4
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
-- База данных: `stazher`
--
-- --------------------------------------------------------
--
-- Структура таблицы `akkt`
--
CREATE TABLE IF NOT EXISTS `akkt` (
`id` int(10) NOT NULL auto_increment,
`akk` int(1) NOT NULL,
`gtr` int(1) NOT NULL,
`tab` int(1) NOT NULL,
`meta_d` varchar(255) NOT NULL,
`meta_k` varchar(255) NOT NULL,
`title` varchar(255) NOT NULL,
`executor` int(10) NOT NULL,
`text` text NOT NULL,
`tabulatura` text NOT NULL,
`linck` varchar(255) NOT NULL,
`view` int(8) NOT NULL,
PRIMARY KEY (`id`),
FULLTEXT KEY `title` (`title`),
FULLTEXT KEY `text` (`text`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=3 ;
--
-- Дамп данных таблицы `akkt`
--
INSERT INTO `akkt` (`id`, `akk`, `gtr`, `tab`, `meta_d`, `meta_k`, `title`, `executor`, `text`, `tabulatura`, `linck`, `view`) VALUES
(1, 1, 1, 0, 'А-Студио - Джулия | Джулия - А-Студио | Stazher', 'А-Студио - Джулия | Джулия - А-Студио | Stazher', 'Джулия', 1, ' B7\r\nНас разделяет океан.\r\n', '', '', 187),
(2, 1, 0, 0, 'А-Студио - Нелюбимая | Нелюбимая - А-Студио | Stazher', 'А-Студио - Нелюбимая | Нелюбимая - А-Студио | Stazher', 'Нелюбимая', 1, ' Облака горьких слез между строк', '', '', 8);
|
Так вот к примеру в админке раздел "Редактировать"
Тут то и нужен вот этот поиск.
Допустим по центру сайта при нажатии "редактировать" загружается строка для поиска... Ну так вот главная цель... При в воде в строку например "Джул" чуть ниже строки выводится из бд "Джулия - А-Студио" И при нажатии на эту надпись переходит на параметры этого "Джулия - А-Студио" текст, название и т.д.
Сори за то что возможно так тупо объяснил... По другому не как( | |
|
|
|
|
|
|
|
|
для: serjinio
(14.09.2009 в 00:19)
| | Большое спасибо за представленный пример. Попробую.. | |
|
|
|
|
|
|
|
для: cheops
(13.09.2009 в 21:22)
| | Предложение всё ещё в силе? Я думаю всё же не мешало бы это сделать грамотна... Так что я от помощи конкретно к моему примеру не откажусь... | |
|
|
|
|
 20.9 Кб |
|
|
для: Tegis
(14.09.2009 в 18:23)
| | Во вложении AJAX-поиск по вашей таблице по полям title и text. Используется библиотека jQuery. Так как таблица (и я так подозреваю вывод) у вас в кодировке cp1251, а AJAX-передача идет в UTF-8, для работы скрипта потребуется также подключенное расширение iconv. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 12:34)
| | Большое спасибо. Да, вот только заместо русского текста абраказябра..=(
" для работы скрипта потребуется также подключенное расширение iconv." Каким образом это можно реализовать? | |
|
|
|
|
|
|
|
для: Tegis
(15.09.2009 в 20:43)
| | Посмотрите включен ли расширение в отчете функции phpinfo().
>Большое спасибо. Да, вот только заместо русского текста абраказябра..=(
Нужно разбираться чем это вызвано - в крайнем случае можно отказаться от кодировки cp1251 и перейти на utf8, которая гарантирует стабильность работы AJAX-поиска. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 20:45)
| | "Нужно разбираться чем это вызвано - в крайнем случае можно отказаться от кодировки cp1251 и перейти на utf8, которая гарантирует стабильность работы AJAX-поиска."
Да я бы с радостью вот только как граматно перевести вutf8? | |
|
|
|
|
 21.1 Кб |
|
|
для: Tegis
(15.09.2009 в 20:49)
| | Для этого необходимо выполнить запрос SET NAMES utf8, вместо SET NAMES cp1251, а все файлы преобразовать в кодировку utf8. Во вложении обновленый вариант. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 20:55)
| | Спасибо. Сейчас попробую | |
|
|
|
|
 151.5 Кб |
|
|
для: cheops
(15.09.2009 в 20:55)
| | Вроде как перевёл.. В приложении скрин. Но всё тоже абраказябра( | |
|
|
|
|
|
|
|
для: Tegis
(15.09.2009 в 22:16)
| | Попробуйте мой вариант двумя постами выше, я тоже перевел проект на utf-8 и оттестировал его - у меня он работает, в том числе и в Mozilla FireFox. | |
|
|
|
|
|
|
|
для: Tegis
(15.09.2009 в 22:16)
| | Базу данных как раз переводить не нужно, скрипт будет корректно работать с данными в cp1251, именно для этого используется SET NAMES utf-8. Возьмите старую таблицу (в cp1251) и второй архив из этой темы. | |
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 22:24)
| | Вернул всё как было не помогло((( все тоже что и на скрине.. | |
|
|
|
|
|
|
|
|
для: cheops
(15.09.2009 в 22:48)
| | да | |
|
|
|
|
|
|
|
для: Tegis
(15.09.2009 в 23:00)
| | Если честно, то у меня закончились идеи. Вы можете заархивировать то, что сейчас есть (вместе с дампом), чтобы я мог воспроизвести ситуацию. | |
|
|
|
|
 22.8 Кб |
|
|
для: cheops
(15.09.2009 в 23:24)
| | вот | |
|
|
|
|
|
|
|
для: Tegis
(15.09.2009 в 23:37)
| | Хм... развернул - все нормально. Если не сложно посмотрите какая кодировка на странице - может она фиксирован и не стоит "автоопределение". | |
|
|
|
|
|
|
|
для: cheops
(16.09.2009 в 00:05)
| | > Если не сложно посмотрите какая кодировка на странице - может она фиксирован и не стоит "автоопределение".
В браузере? | |
|
|
|
|
|
|
|
для: Tegis
(16.09.2009 в 00:18)
| | Да. | |
|
|
|
|
|
|
|
для: cheops
(16.09.2009 в 00:05)
| | Кстати хотел узнать.. Какую литературы вы можете посоветовать по ajax для полных нулей)) Или нужно с начало начальные знания JS? | |
|
|
|
|
|
|
|
для: Tegis
(16.09.2009 в 00:21)
| | Если хотите свою библиотеку строить, то очень хорошая книга AJAX и PHP. Разработка динамических веб-приложений.
Если хотите просто использовать AJAX в рамках готовой JavaScript-библиотеки, то очень хорошая книга по библиотеке jQuery jQuery. Подробное руководство по продвинутому JavaScript. | |
|
|
|
|
|
|
|
для: cheops
(16.09.2009 в 00:26)
| | ладно.. большое спасибо за помощь.. К сожалению так и осталось акбраказябра( Буду разбираться.. искать другие варианты.. | |
|
|
|