Добрый день! есть скрипт ajax , в базе создал таблицу с данными id, title, description, link ,foto_link нужно чтобы поиск по 3 столбикам производился, title, description, link , особенности вывода: 1) подсветка искомого текста 2) ссылка на страницу (в которой найден текст был) 3) вывод картинок со страницы. в данный момент поиск просто находит заданный текст и выводит из базы полностью тексты где есть искомое значение. подскажите, пожалуйста, как выполнить поставленные задачи? PHP: <?php //получаем данные через $_POST if (isset($_POST['search'])) { // подключаемся к базе include('db.php'); $db = new db(); // никогда не доверяйте входящим данным! Фильтруйте всё! $word = mysql_real_escape_string($_POST['search']); // Строим запрос $sql = "SELECT description FROM content WHERE description LIKE '%" . $word . "%' ORDER BY description LIMIT 10"; // Получаем результаты $row = $db->select_list($sql); if(count($row)) { $end_result = 'Искомый текст выделен жирным шрифтом'; foreach($row as $r) { $result = $r['description']; $bold = '<span class="found">' . $word . '</span>'; $end_result .= '<li>' . str_ireplace($word, $bold, $result) . '</li>'; } echo $end_result; } else { echo '<li>По вашему запросу ничего не найдено</li>'; } } ?>
Хотелось бы посмотреть на входные данные и результат работы скрипта. Не обязательно фактические. Можно просто придумать для примера. --- Добавлено --- Что скрипту даешь, что получаешь и что не нравится в том, что получаешь...
TeslaFeo , http://vbm.su/search сайт сам не на базе, поиск хочу на базе сделать. что и типа сделал. но надо чтобы условия выполнялись заданные. --- Добавлено --- искать он ищет то что задано, но надо чтобы он выделял жирным то что искал.Ссылку на страницу вставлял где был заданный текст найден. и выводил картинки со страницы.
Ну я ввел слово "Бабочка" и получил вот это: HTML: Искомый текст выделен жирным шрифтом<li><span class="found">Бабочка</span> Амаврис белопятнистый (Amauris albimaculata) относится к семейству Данаиды (Danaidae); распространена в Африке к северу от Сахары, как правило, во влажных тропических лесах. Кормовое растение гусениц - цианхума и тикофора (ядовитые растения). Размах крыльев 6-8 см. Эти данаиды различаются по ширине желтой полосы на задних крыльях и количеству и цвету пятен на передних. Этим бабочкам подражают окраской многие другие виды, так как бабочки ядовиты.</li><li><span class="found">Бабочка</span> Амаврис ниавий (Amauris niavius) относится к семейству Данаиды (Danaidae); встречается в тропических африканских лесах. <span class="found">Бабочка</span> питается нектаром и жидким пометом млекопитающих.Размах крыльев до 90 мм. Амаврис ниавий - один из самых крупных представителей рода амаврис.</li>
нужно чтобы поиск по 3 столбикам производился, title, description, link , особенности вывода: 1) подсветка искомого текста 2) ссылка на страницу (в которой найден текст был) 3) вывод картинок со страницы.
Значит осталось в CSS прописать жирность для класса found Код (CSS): .found { font-weight: } или, если к этому классу больше не будет применяться никаких свойств, то можно еще проще. В место тега <span> вставить тег <b>. Т. е. PHP: $bold = '<b>' . $word . '</b>'; --- Добавлено --- не всё сразу. Всё постепенно. Ссылку ты вытягиваешь из БД, значит в нужном месте делаешь так: PHP: echo "<a href='{$r['link']}'>{$r['title']}</a>"; // это где-то в foreach естессно...
Запрос переделать вот так: PHP: $sql = "SELECT title, description, link FROM content WHERE title LIKE '%" . $word . "%' OR description LIKE '%" . $word . "%' OR link LIKE '%" . $word . "%' ORDER BY description LIMIT 10"; А картинки в бд не хранятся. В бд могут храниться только теги, которые на них ссылаются. Нужен пример таких тэгов. --- Добавлено --- Что не сможешь собрать или будет не так - пиши.