Kwert-soft.ru

IT Софт для ПК
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Поиск на php

Реализация поиска на сайте через PHP

У меня уже несколько раз просили написать статью о том, как реализовать поиск на сайте через PHP. Задача это непростая, я бы даже сказал — очень непростая, поскольку здесь имеется огромное количество нюансов и препятствий. В этой статье я разберу алгоритм поиска на сайте.

Давайте предположим, что на нашем сайте имеется множество различных материалов (статей, новостей, заметок и прочего). Всё это добро находится в базе данных. И наша задача — реализовать поиск на сайте. Простейший алгоритм следующий:

  1. Создать HTML-форму со строкой поиска, а также кнопкой «Submit«. В текстовое поле пользователи будут вводить поисковый запрос, а далее нажимать на кнопку.
  2. Получить поисковый запрос (как правило, передаваемый методом GET, но иногда применяют и POST), а также, в целях защиты от XSS, пропустить его через функцию htmlspecialchars().
  3. Сделать выборку из соответствующих таблицы (со статьями, новостями, заметками и прочим) тех записей, в которых содержится поисковый запрос. Показываю примерный SQL-запрос для таких случаев: SELECT * FROM articles WHERE `text_article` LIKE %search% Соответственно, вместо search подставляется строка поиска.
  4. Получив записи, в нужном виде выводим их, желательно, по релевантности. Я, например, сделал у себя на сайте так: где больше всего совпадений — та статья и релевантнее, следовательно, ставлю её первой. Скорее всего, Вам этот способ оценки релевантности тоже подойдёт.

Многие из Вас скажут, что ничего сложного здесь нет. И будут отчасти правы, однако, давайте разберём такой пример строки поиска: «ищу этот текст«. Встаёт вопрос: «А что, собственно, ищется?«. То ли ищется точное вхождение текста «ищу этот текст«. Или, быть может, ищется текст, где присутствуют все три слова, но которые могут следовать далеко не друг за другом. Или, возможно, ищется текст, где присутствует хотя бы одно из этих слов.

И вот здесь задача значительно усложняется. Можно сделать сложную систему синтаксиса (как в поисковых системах), например, ищется точное вхождение, если запрос задан в кавычках. А можно давать выбор пользователям, как именно они хотят проводить поиск (с помощью radio-кнопок). Таким образом, сделано у меня на сайте. Поэтому в предыдущий алгоритм добавляется ещё один пункт: составление SQL-запрос. Вот пример SQL-запроса, когда нужно вытащить все материалы, в которых имеется хотя бы одно слово из запроса «ищу этот текст«:

SELECT * FROM articles WHERE (`text_article` LIKE «%ищу%» OR `text_article` LIKE «%этот%» OR `text_article` LIKE «%текст%»)

Соответственно, в скрипте поиска Вы должны генерировать подобные SQL-запросы, посылать к базе данных, получать ответ и выводить его. Это всё ещё больше усложняется, если Вы выводите записи по релевантности, так как трудно сразу сказать, что должно быть релевантнее: 3 точных вхождения запроса, либо 10 вхождений частей запроса. У меня на сайте предпочтение всегда отдаётся точным вхожденияи, но этот момент уже достаточно спорен. Безусловно, это сложно, и если это Вы делаете в первый раз, то несколько часов Вы точно потратите. Надеюсь, что мой алгоритм реализации поиска на сайте через PHP Вам поможет.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

Она выглядит вот так:

  • BB-код ссылки для форумов (например, можете поставить её в подписи):
  • Комментарии ( 56 ):

    Михаил а вместо text_article Что ставить? Это адрес столбца? И как потом выводить данные правильно, а то я уже много способов перепробовал, не могу сделать так как нужно.

    text_article — это поле, в котором содержится полный текст материала, по которому и ведётся поиск. Выводить надо через SQL-запросы, а, получив result_set, разобрать его на одномерные массивы, элементы которого выводятся уже через echo.

    Михаил а вот если поиск реализуется по таблице users и ищет он только например по колонке name а если человек начинает вводить и фамилию то поиск ступорится и все найти ничего естесственно не может, сейчас у меня завпрос такой : («SELECT * FROM `users` WHERE `name` LIKE ‘%<$user_get>%'»); Пробую сделать вроде бы понятно и логично вот так : («SELECT * FROM `users` WHERE `name` LIKE ‘%<$user_get>%’ AND `familia` LIKE ‘%<$user_get>%'»); Все ровно не хочет искать=((( ЧТо делаю не так Михаил?!

    А зачем фигурные скобки здесь: <$user_get>? Попробуйте так: LIKE ‘%$user_get%’

    Так разницы то нет, разве что в скорости выполнения, а вот не могу понять как обьеденить в поисковом запросе 2 колонки familia и name — вопрос=) Я не могу, что не так сделал?!

    Ваш запрос какой-то не логичный. Как может у человека совпадать имя И фамилия? Поэтому могу предположить, что надо вместо AND поставить OR.

    Хорошо а вот если пользователь будет вводить в строке поиска и имя и фамилию?! Как тогда ?!

    Тогда не будет и там, и там $user_get. А, во-вторых, Вам надо будет решать, как обрабатывать данные, то ли выводить те записи, где совпало и имя, и фамилия (AND), то ли, где хотя бы одно совпадение (OR). Либо (как у меня в поиске) право выбора: совпадение «и там, и там», либо «там или там».

    А как тогда формировать запрос на совпадения и имени и фамилии?! Подскажите пожалуйста! Я впервые пишу поисковое ядро по 2м калонкам=( ПРи том что это все обрабатывается на аяксе без перезагрузке страницы=)

    Вы уже писали его, там где AND, только вместо $user_get должно быть что-то другое, в первом случае, имя, а в другом — фамилия.

    так в этом случае будет 2 строки поиска ведь?! А мне нужно чтоб все данные писались в одну поисковую строку!

    «SELECT * FROM `users` WHERE `name` LIKE ‘%<$user_name>%’ AND `familia` LIKE ‘%<$user_surname>%'» — где здесь 2 строки?

    Читать еще:  Php asc шизо employment

    ДА нет это то я сделал, а вот в самом поле ввода как оно должно распознаватся куда отнести это слово а куда это? К какому столбцу к имени или к фамилии?! у меня идет так xmlhttp.open(«GET», «getuser.php?name=» + str, true); xmlhttp.send(); за str берется 0е значение

    Значит, нужно добавить ещё одно поле, чтобы не только name=, но и &surname=

    Тогда как это реализованно например в том же контакте все в одной строке?!

    В одной строке, но с несколькими GET. /?a=5&b=7&c=10 — целых 3 параметра, и все в одной строке.

    ТАк все плывет бошка=) Спасибо вам! На сегодня думаю хватит работы=)

    Поиск по контенту сайта php примеры

    Поиск по сайту, поиск по файлам и вообще будем искать на сайте. Давно хотел сделать такую тему, как поиски внутри сайта, внутри файлов. В общем сделать рабочий скрипт поиска по сайту.

    В самом начале давайте разберемся, где будем искать. Будем искать не только в файлах, но и сделаем поиск по базе данных.

    Поиск по сайту php

    1. Алгоритм поиска по сайту
    2. Поиск по контенту сайта -> база данных
    3. Поиск по контенту сайта -> файлы ->DW — search 1.2
    4. Скрипт в сборе поиск по сайту
    5. Рабочий вариант скрипта поиска по сайту по файлам пример
    6. Поиск по контенту сайта -> файлы вариант 2
    7. Скачать можно здесь

      Алгоритм поиска по сайту

      Поиск по контенту сайта -> база данных

      Нам понадобится столбец, в котором записан контент страницы в базе данных, применяем поиск к строке отвечающей за контент -> substr_count

      $row[«ID»] — это как пример, если требуется ссылка. то нужен столбец отвечающий за ссылку

      if(@substr_count($row[«столбец отвечающий за контент»], $poisk) and $poisk)

      $result = «найдено в контенте страницы» . $row[«ID»];];

      Для отправки запроса вам понадобится форма отправки:

      Поиск по контенту сайта -> файлы DW — search 1.2

      Если мы говорим о поиске по контенту на сайте, который сделан на файлах, то первое с чем мы сталкиваемся, против базы данных, как получить все ссылки на все файлы!?

      Другими словами, где у вас есть все ссылки вашего сайта!? Может в карте sitemap.XML — нам нужно извлечь все ссылки из данного файла, а потом в цикле проверить наличие искомого слова.
      Да! И функцию my_strtolower можете заменить на обычную strtolower(если она у вас работает)
      Теперь не нужно вставлять домен, он будет автоматически передаваться в переменную!

      + Получим в переменную $poisk от правленный поисковый запрос.

      + все буквы приведем к нижнему регистру my_strtolower

      $poisk = my_strtolower( $poisk );

      Теперь весь контент страницы полученный в цикле через file_get_contents переведем в нижний регистр — my_strtolower и внутри получим путь на сревре заменив домен на $home

      Далее собственно поиск искомого слова в контенте substr_count

      + если что-то найдено, то создаем счетчик +1($line_count)

      + заносим в переменную $rezult адрес страницы, где это было найдено.

      $new = my_strtolower( file_get_contents( str_replace( $domen , $home , $ALL_PAGES[$i]) ) );

      if (substr_count($new, $poisk))

      Далее особо ничего интересного. форма + вывод полученных данных.

      Скрипт DW — search 1.2 в сборе поиск по сайту

      Живой пример поиска DW — search 1.2

      Теперь мы создадим страницу и туда поместим выше приведенный скрипт поиска по сайту:

      Поиск по контенту сайта -> файлы вариант 2

      Второй вариант поиска, как реализован выше приведенный скрипт поиска по сайту по файлам. У нас есть база данных на файлах, новая строка — краткая информация о странице.

      Если вывести все ссылки из этой базы, то мы получим : все ссылки — это мы применяли, как пример поиска по заголовкам .

      И собственно, где мы получали внутри цикла данные из адреса(file_get_contents) — здесь получаем абсолютно аналогично! Единственно, что в этой же строке мы имеем заголовок страницы.

      Именно этот поиск вы сможете протестировать, нажав кнопку лупы сверху сайта в меню справа.

    Вас может еще заинтересовать список тем : #PHP | #PHP_FUNCTION | #SEARCH |

    НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…)

    Поиск на сайте своими руками

    Наверное, многие когда-нибудь задумывались, как сделать поиск на сайте? Безусловно, для крупных сайтов с большим количеством контента поиск является просто незаменимой вещью. В большинстве случаев пользователь, впервые посетив Ваш сайт в поисках чего-либо важного, не станет разбираться в навигационных панелях, выпадающих меню и прочих элементах навигации, а в спешке попытается найти что-нибудь похожее на поисковую строку. И если такой роскоши на сайте не окажется, либо он не справится с поисковым запросом, то посетитель просто закроет вкладку. Но статья не о значении поиска для сайта и не о психологии посетителей. Я расскажу, как реализовать небольшой алгоритм полнотекстового поиска, который, надеюсь, избавит начинающих разработчиков от головной боли.

    У читателя может возникнуть вопрос: зачем писать все с нуля, если все уже давно написано? Да, у крупных поисковиков есть API, есть такие клевые проекты, как Sphinx и Apache Solr. Но у каждого из этих решений есть свои преимущества и недостатки. Пользуясь услугами поисковиков, типа Google и Яндекс, Вы получите множество плюшек, таких как мощный морфологический анализ, исправление опечаток и ошибок в запросе, распознавание неверной раскладки клавиатуры, однако без ложки дегтя тут не обойдется. Во первых, такой поиск не интегрируется в структуру сайта — он внешний, и Вы не сможете указать ему, какие данные наиболее важны, а какие не очень. Во вторых, содержимое сайта индексируется только с определенным интервалом, который зависит от выбранного поисковика, так что если на сайте что-нибудь обновится, придется дожидаться момента, когда эти изменения попадут в индекс и станут доступными в поиске. У Sphinx и Apache Solr дела с интеграцией и индексированием гораздо лучше, но не каждый хостинг позволит из запустить.

    Ничто не мешает написать поисковый механизм самостоятельно. Предполагается, что сайт работает на PHP в связке с каким-нибудь сервером баз данных, например MySQL. Давайте сначала определимся, что требуется от поиска на сайте?

    • Поиск с учетом языковой морфологии. Не зависимо от падежа, окончания и
      других прелестей великого и могучего языка поиск должен находить то, что нужно
      пользователю. Другими словами, «яблок», «яблока», «яблоки» — это формы одного и того
      же слова «яблоко», что нужно учитывать в поисковом алгоритме. Одним из способов
      достижения данной цели является приведение каждого слова поискового запроса и слов
      содержимого сайта к базовой форме.
    • Возможность указать контекст поиска. То есть, возможность самостоятельно выбрать
      контент сайта, в пределах которого будет работать поисковый алгоритм, а также определить
      значимость для каждого из пределов. Например, рассмотрим интернет-магазин. Предполагается,
      что поисковый запрос чаще всего будет содержать название искомой продукции, поэтому поиск по
      названиям товара будет иметь наивысший приоритет. В качестве следующего приоритета можно
      выбрать поиск по свойствам товаров, затем поиск по описанию.
    • Индексирование содержимого сайта. Представьте ситуацию: одновременно около 30 человек
      выполняют поисковые запросы. Сервер принимает каждое соединение, управление потоком
      передается интерпретатору PHP. При каждом запросе заново инициализируется поисковый
      движок, заново перерывается содержимое сайта… Сложно сказать, сколько времени и
      ресурсов потребуется, чтобы обработать все эти запросы. Именно для того, чтобы не
      делать одну и ту же работу по сто раз, была придумана технология индексирования.
      Индексирование выполняется только при изменении или добавлении содержимого сайта,
      а поиск выполняется уже по индексу, а не по содержимому.
    • Механизм ранжирования. Ранжирование результатов поиска — это сортировка результатов поиска, выполняемая на основе оценки значимости найденных данных. Например, в каком-нибудь блоге выполняется поисковый запрос «космос». Данное слово содержится в двух статьях: в первой 16 раз, во второй — 5 раз. Вероятнее всего, первая статья будет иметь большее значение для инициатора поиска. Также каждой разновидности содержимого сайта при индексировании задается определенный коэффициент, который будет влиять на его позиции в поисковой выдаче.

    Теперь пару слов о том, что нам предстоит реализовать:

    • морфологический анализатор,
    • алгоритм ранжирования,
    • алгоритм индексирования,
    • алгоритм поиска.

    В конце статьи будет показан пример реализации поиска на примере простого интернет-магазина. Тем, кому лень все это изучать и просто нужен готовый поисковик, можно смело забирать движок из репозитория GitHub FireWind.

    Принцип работы

    Со стороны бэкенда поиск работает так:

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

    Подготовка

    Задача поставлена, теперь можно перейти к делу. Я использую Linux в качестве рабочей ОС, однако постараюсь не использовать ее экзотических возможностей, чтобы любители Windows смогли «собрать» поисковый движок по аналогии. Все, что Вам нужно — это знание основ PHP и умение обращаться с MySQL. Поехали!

    Наш проект будет состоять из ядра, где будут собраны все жизненно необходимые функции, а также модуля морфологического анализа и обработки текста. Для начала создадим корневую папку проекта firewind, а в ней создадим файл core.php — он и будет ядром.

    Теперь вооружаемся своим любимым текстовым редактором и подготавливаем каркас:

    Тут мы создали основной класс, который можно будет использовать на Ваших сайтах. На этом подготовительная часть заканчивается, пора двигаться дальше.

    Морфологический анализатор

    Русский язык — довольно сложная штука, которая радует своим разнообразием и шокирует иностранцев конструкциями, типа «да нет, наверное». Научить машину понимать его, да и любой другой язык, — довольно непростая задача. Наиболее успешны в этом плане поисковые компании, типа Google и Яндекс, которые постоянно улучшают свои алгоритмы и держат их в секрете. Придется нам сделать что-то свое, попроще. К счастью, колесо изобретать не придется — все уже сделано за нас. Встречайте, phpMorphy — морфологический анализатор, поддерживающий русский, английский и немецкий языки. Более подробную информацию можно получить тут, однако нас интересуют только две его возможности: лемматизация, то есть получение базовой формы слова, и получение грамматической информации о слове (род, число, падеж, часть речи и т.д.).

    Нужна библиотека и словарь для нее. Все это добро можно найти тут. Библиотека находится в одноименной папке «phpmorphy», словари расположены в «phpmorphy-dictionaries». Скачиваем последние версии в корневую папку проекта и распаковываем:

    Отлично! Библиотека готова к использованию. Пришло время написать «оболочку», которая абстрагирует работу с phpMorphy. Для этого создадим еще один файл morphyus.php в корневой директории:

    Пока реализовано только два метода. get_words разбивает текст на массив слов, фильтруя при этом HTML-теги и сущности типа » «. Метод lemmatize возвращает массив лемм слова, либо false, если таковых не нашлось.

    Механизм ранжирования на уровне морфологии

    Давайте остановимся на такой единице языка, как предложение. Наиболее важной частью предложения является основа в виде подлежащего и/или сказуемого. Чаще всего подлежащее выражается существительным, а сказуемое глаголом. Второстепенные члены в основном употребляются для уточнения смысла основы. В разных предложениях одни и те же части речи порой имеют совершенно разное значение, и наиболее точно оценить это значение в контексте текста сегодня может только человек. Однако программно оценить значение какого-либо слова все-таки можно, хоть и не так точно. При этом алгоритм ранжирования должен опираться на так называемый профиль текста, который определяется его автором. Профиль представляет из себя ассоциативный массив, ключами которого являются части речи, а значениями соответственно ранг (или вес) каждой из них. Пример профиля я покажу в заключении, а пока попробуем перевести эти размышления на язык PHP, добавив еще один метод к классу morphyus:

    Индексирование содержимого сайта

    Как уже говорилось выше, индексирование заметно ускоряет выполнение поискового запроса, так как поисковому движку не нужно обрабатывать контент каждый раз заново — поиск выполняется по индексу. Но что же все-таки происходит при индексировании? Если по порядку, то:

    • Сначала из текста формируется массив слов, и делается это с помощью метода get_words.
    • Согласно профилю, из текста отбрасываются незначимые части речи.
    • Значимые оцениваются по пятибальной шкале, с помощью метода weigh.
    • Для каждого сова выполняется поиск лемм, иначе говоря базовых форм.
    • Рассчитывается количество повторений каждого слова и суммарный ранг.
    • Все данные записываются в объект и в виде JSON записываются в базу данных.

    В результате получается объект следующего формата:

    Пишем инициализатор и первый метод ядра поискового движка:

    Теперь при добавлении или изменении данных в таблицах достаточно просто вызвать данную функцию, чтобы проиндексировать их, но это не обязательно: индексирование может быть и отложенным. Первым аргументом метода make_index является исходный текст, вторым — коэффициент значимости индексируемых данных. Ранг каждого слова, кстати, расчитывается по формуле:

    Хранение индексированных данных

    Очевидно, что индекс нужно где-нибудь хранить, да еще и привязать к исходным данным. Наиболее подходящим местом для них будет база данных. Если индексируется содержимое файлов, то можно создать отдельную таблицу в базе данных, которая будет содержать индекс название каждого файла, а для содержимого, которое уже хранится в базе, можно добавить еще одно поле типа в структуру таблиц. Такой подход позволит разделять типы содержимого при поиске, например, названия и описание статей в случае блога.

    Нерешенным остался лишь вопрос формата индексированного содержимого, ведь make_index возвращает объект, и так просто в базу данных или файл его не запишешь. Можно использовать JSON и хранить его в полях типа LONGTEXT, можно BSON или CBOR, используя тип данных LONGBLOB. Два последних формата позволяют представлять данные в более компактном виде, чем первый.

    Как говорится, «хозяин — барин», так-что решать, где и как все будет храниться, Вам.

    Benchmark

    Давайте проверим, что у нас получилось. Я взял текст своей любимой статьи «Темная материя интернета», а именно содержимое узла #content html_format и сохранил его в отдельный файл.

    На моей машине с конфигурацией:
    CPU: Intel Core i7-4510U @ 2.00GHz, 4M Cache
    RAM: 2×4096 Mb
    OS: Ubuntu 14.04.1 LTS, x64
    PHP: 5.5.9-1ubuntu4.5

    Индексирование заняло около секунды:

    Думаю, вполне неплохой результат.

    Реализация поиска

    Остался последний и самый главный метод, метод поиска. В качестве первого аргумента метод принимает индекс поискового запроса, в качестве второго — индекс содержимого, в котором выполняется поиск. В результате выполнения возвращается суммарный ранг, рассчитанный на основе ранга найденных слов, либо 0, если ничего не нашлось. Это позволит сортировать поисковую выдачу.

    Все! Поисковый движок готов к использованию. Но есть одно но… На самом деле это не джин-волшебник, и просто закинув его на свой сайт Вы не получите ничего. Его нужно интегрировать, причем этот процесс во многом зависит от архитектуры Вашего сайта. Рассмотрим этот процесс на примере небольшого интернет магазина.

    Реализация поиска на примере интернет-магазина

    Допустим, информация о продаваемой продукции хранится в таблице production:

    А описание в таблице description:

    Поле production.keywords будет содержать индекс ключевых слов продукта, description.index будет содержать индексированное описание. И все это будут храниться в формате JSON.

    Вот пример функции добавления нового продукта:

    Здесь поисковый механизм был интегрирован в функцию добавления нового продукта магазина. А теперь обработчик поисковых запросов:

    Данный сценарий принимает поисковый запрос в виде GET-параметра query и выполняет поиск. В результате выводятся найденные продукты магазина.

    Заключение

    В статье был описан один из вариантов реализации поиска для сайта. Это самая первая его версия, поэтому буду только рад узнать Ваши замечания, мнения и пожелания. Присоединяйтесь к моему проекту на Github: https://github.com/axilirator/firewind. В планах добавить туда еще кучу всяких возможностей, вроде кэширования поисковых запросов, подсказок при вводе поискового запроса и алгоритма побуквенного сравнения, который поможет бороться с опечатками.

    Всем спасибо за внимание, ну и с днем информационной безопасности!

    Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.

    Поиск по сайту

    Надыбал готовое решение формы поиска по сайту с использованием БД.

    Имеется файл search.php и в нем след. код (установлен в самом начале страницы до :

    и далее в теге body установлена форма для поиска:

    и после нее стоит еще один код для вывода результатов:

    HTML5
    05.10.2013, 03:29

    Поиск по сайту: не могу разобраться, как делать поиск по нескольким полям
    поиск по одному полу осуществляется вот так: SELECT * from tablepart WHERE `marka` LIKE ‘%» .

    Поиск по сайту
    Здравствуйте! Проблема в том, что при введение любого слова в поиск, мне выводит каждый раз (хотя.

    Поиск по сайту
    Здрасте всем! Сделал сайт, сделал на нем форму поиска. А как сделать так, чтобы эта форма.

    Поиск по сайту
    Здравствуйте! Помогите пожалуйста сделать поиск по сайту. Таблица news. Три столбика: id.

    05.10.2013, 04:032
    05.10.2013, 08:13 [ТС]3

    нет, как раз таки код универсальный. единственное что в полях:

    я вставил свои значения базы данных, т.е.:

    05.10.2013, 08:174

    И база данных у вас точ в точ?

    Добавлено через 1 минуту
    Советую, смотреть что прилетает в каждую переменную, сверху вниз. (следом за интерпретатором)

    05.10.2013, 11:27 [ТС]5

    да все параметры БД теже.

    Добавлено через 26 секунд

    05.10.2013, 11:296
    05.10.2013, 12:52 [ТС]7

    есть некие поля page_id, title, desc, title_link, category, uniq_id кот. проверяются.

    только как и где их прописать, я не пойму.

    p.s.: в программировании я полный ноль (на php особенно)

    05.10.2013, 12:598

    Ну и как же мы с вами будем код отлаживать и искать ошибку.

    Добавлено через 57 секунд

    есть переменная, сюда попадает результат от запроса к базе данных. Нужно проверить, что туда попало.

    Добавлено через 44 секунды
    А вообще, нужно хоть почитать основы PHP иначе ничего толком вы не сделаете!

    Добавлено через 1 минуту

    06.10.2013, 00:08 [ТС]9

    база создана! но в ней я таблицу не строил. т.к. видимо сам скрипт ее построит.

    Добавлено через 49 секунд

    06.10.2013, 00:5110
    06.10.2013, 04:0711

    Антон Терентьев, давайте так, вы прочтете книжку по PHP, MySQL, хотя бы азы, а потом мы с вами продолжим тему.

    Дело в том, что даже если мы с вами и найдём ошибку, то потом будут опять вопросы. Вы согласны?!

    Скажу ещё на вскидку, что скорее всего ошибка не в коде, а в том что вы не создали таблицу в БД, поэтому PHP ничего вам не находит.

    06.10.2013, 16:49 [ТС]12

    Вы абсолютно правы, я ничего не создавал в БД.

    Поможете составить таблицу?

    06.10.2013, 17:0013
    11.10.2013, 19:01 [ТС]14

    для составления таблицы полагаю требуется три поля (как минимум) для поиска в базе. эти самые поля обозвать, как допустим:
    page_id — идентификатор страницы с новостью (допустим адрес этой странички, например, news1.html)
    title — текст в заголовке новости
    desc — текст самой новости
    title_link — ссылка на страницу с новостью
    а поля category и uniq_id думаю можно вообще удалить.

    теперь!
    вот есть страница с новостью (пример):

    — page_id
    — «Открытие сайта» — заголовок (title)
    — «Сегодня мы открылись! Поздравьте нас!» — текст новости (desc)
    — news1.html — title_link (ссылка на страницу с новостью)

    вот теперь как поэтапно по этим данным создать БД именно для этого примера?

    Ссылка на основную публикацию
    Adblock
    detector