Поиск по базе MySQL и вставка результата в переменную

usergeyv

Знаток
Регистрация
5 Июл 2013
Сообщения
152
Реакции
25
Нужен релевантный поиск по базе mysql.
Есть таблица dle_post нужно искать в столбце title и вставить в переменную $content значения столбца short_story.
Пояснения:
Код:
если пользователь дает запрос "Сканлайн" или "Сканлайн смотреть онлай", выведет значения short_story с title Сканлайн , а если укажет "Сканлайн 2" или "Сканлайн 2017 смотреть" выведет значения short_story с title Сканлайн 2017, оба title присутствует в базе
Прошу показать код. Заранее спасибо
 
Последнее редактирование:
Есть таблица post нужно искать в столбце title (например Сканлайн или Сканлайн 2017) и вставить в переменную $content значения столбца id. Прошу показать код с подключениям к базе. Заранее спасибо
PHP:
$mysqli = new mysqli("localhost", "user", "password", "database");
if ($mysqli->connect_errno) {
    echo "Не удалось подключиться к MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
}
else {
       $title = $mysqli->real_escape_string('Сканлайн');
       $query = "SELECT id FROM post WHERE title = '$title'";     
       $result = $mysqli->query($query);
       $row = $result->fetch_row();
       $content = $row[0];
       echo "id = $content";
}
<-------------- добавлено через 104 сек. -------------->
это можно как нибудь прикрутить
Это вообще к поставленному в первом посте вопросу не относится.
 
тест на Денвере
 
Последнее редактирование:
Питаюсь так
PHP:
<?php
$link = mysql_connect("............", "...........", "............") or die("Не соединилось!!!");

mysql_select_db(".............") or die("Не найдена БД");

$key ="сканлайн";
echo "<p>По вашему запросу:";

if (isset($key)) {$keyword = $key;}

$keyword = trim($keyword);
$keyword = stripslashes($keyword);
$keyword = htmlspecialchars($keyword);
echo "<b>$keyword</b>";

$search_query = "SELECT id, title FROM dle_post WHERE title LIKE '%".strtoupper($keyword)."%' OR full_story LIKE '%".strtoupper($keyword)."%' LIMIT 100";
$query = mysql_query($search_query);

if(!$query)
{
echo "<p class='text'>Поиск не осуществлен. Код ошибки:</p>";
echo exit(mysql_error());
}
if (mysql_num_rows($query) > 0)
{
$myrow = mysql_fetch_array($query);

do
{
printf("<p><a class ='post_link' href='articles.php?id=%s'>%s</a><span class='post_view'> --> Просмотров: %s</span></p>",$myrow["id"],$myrow["title"],$myrow["view"]);

}while ($myrow = mysql_fetch_array($query));
} else echo "<p>Ничего не найдено.";
mysql_close($link);
?>
Работает , а когда дописать смотреть онлайн или год "Ничего не найдено." , как этот код применить к моему вопросу
 
Последнее редактирование:
Помогите пож
 
Работает , а когда дописать смотреть онлайн или год "Ничего не найдено." , как этот код применить к моему вопросу
Немного поизучал статьи , вот что получилось
PHP:
<?php
$link = mysql_connect("...........", ".........", "......") or die("Не соединилось!!!");

mysql_select_db("...........") or die("Не найдена БД");

$key ="смотреть онлайн";
echo "<p>По вашему запросу:";

if (isset($key)) {$keyword = $key;}

$keyword = trim($keyword);
$keyword = stripslashes($keyword);
$keyword = htmlspecialchars($keyword);
echo "<b>$keyword</b>";

$search_query = "SELECT *, MATCH title AGAINST ('$keyword') as relev FROM dle_post WHERE MATCH title AGAINST ('$keyword')>0 ORDER BY relev DESC";
$query = mysql_query($search_query);

if(!$query)
{
echo "<p class='text'>Поиск не осуществлен. Код ошибки:</p>";
echo exit(mysql_error());
}
if (mysql_num_rows($query) > 0)
{
$myrow = mysql_fetch_array($query);

do
{
printf("<p><a class ='post_link' href='articles.php?id=%s'>%s</a><span class='post_view'> --> Просмотров: %s</span></p>",$myrow["id"],$myrow["title"],$myrow["view"]);

}while ($myrow = mysql_fetch_array($query));
} else echo "<p>Ничего не найдено.";
mysql_close($link);
?>

писало :
Код:
Can't find FULLTEXT index matching the column list
Сделал запрос:
Код:
ALTER TABLE dle_post ADD FULLTEXT(title);
Работает как нужно.
Сейчас надо вставить в переменную $content значения столбца short_story полученой статьи. Может кто подскажет как это сделать?
 
Сейчас надо вставить в переменную $content значения столбца short_story полученой статьи. Может кто подскажет как это сделать?
Всем спасибо:)
PHP:
echo $content = $myrow["short_story"];

Может есть замечания по коду, прошу исправить:ah:
<-------------- добавлено через 82 сек. -------------->
или дополнения
 
Назад
Сверху