Здравейте, преди малко седнах и си направих 1 търсачка, която търси записи в MySQL база данни, но имам малък проблем.
Проблема е в това, че когато това, което търся е от една дума намира всичко както трябва, но когато добавя 2 думи (разделени с " " (интервал)) не работи :?
Ето и кода, който съм написал:
Не, че има голямо значение, но файла news.php го направих само за теста и представлява това:
та ако някой може да помогне, ще съм благодарен, защото за първи път правя такова нещо като търсачка и общо взето я правя от интерес...
btw някъде из форума преди бая време пак в една тема за търсачка бях чел, че е хубаво да се слага RLIKE вместо LIKE, но с RLIKE не извежда никакви резултати...
Поздрави
Проблема е в това, че когато това, което търся е от една дума намира всичко както трябва, но когато добавя 2 думи (разделени с " " (интервал)) не работи :?
Ето и кода, който съм написал:
Код:
<?php
header("Content-Type: text/html; charset=UTF-8");
$host = "хост";
$user = "потребител";
$pass = "парола";
$db = "база-данни";
$conn = mysql_connect($host, $user, $pass) or die("Грешка 1!");
mysql_select_db($db) or die("Грешка 2!");
mysql_query("SET CHARACTER SET utf8", $conn);
echo "<form action=\"search.php\" method=\"post\">
<input type=\"text\" name=\"find\" size=\"30\" /><br />
<input name=\"submit\" type=\"submit\" value=\"Търси\" />
</form>";
if(isset($_POST['submit'])) {
$find = htmlspecialchars(addslashes($_POST['find']));
$result = mysql_query("SELECT * FROM `news` WHERE `title` LIKE '%$find%' ORDER BY id DESC") or die('Грешка 3!');
$results = mysql_num_rows(mysql_query("SELECT * FROM `news` WHERE `title` LIKE '%$find%' ORDER BY id DESC")) or die('Грешка 4!');
if($results < 1) {
echo "няма резултати";
}
while($row = mysql_fetch_array($result)) {
$count2 = mb_strlen($row['content'], "UTF-8");
$content = mb_substr($row['content'], 0, 100, "utf-8")."...";
echo "
ID: ".$row['id']." <a href=\"news.php?id=".$row['id']."\">Новина: ".$row['title']."</a> Съдържание: $content<br />
";
}
echo "<br />Има $results резултата!";
}
?>
Не, че има голямо значение, но файла news.php го направих само за теста и представлява това:
Код:
<?php
header("Content-Type: text/html; charset=UTF-8");
$host = "хост";
$user = "потребител";
$pass = "парола";
$db = "база-данни";
$conn = mysql_connect($host, $user, $pass) or die("Грешка 1!");
mysql_select_db($db) or die("Грешка 2!");
mysql_query("SET CHARACTER SET utf8", $conn);
$id = $_GET['id'];
$result = mysql_query("SELECT * FROM `news` WHERE `id`='$id'") or die('Грешка 3!');
$row = mysql_fetch_array($result);
echo "
<b>Заглавие:</b> ".$row['title']."<br /><br />
<b>Съдържание:</b> ".$row['content']."
";
?>
та ако някой може да помогне, ще съм благодарен, защото за първи път правя такова нещо като търсачка и общо взето я правя от интерес...
btw някъде из форума преди бая време пак в една тема за търсачка бях чел, че е хубаво да се слага RLIKE вместо LIKE, но с RLIKE не извежда никакви резултати...
Поздрави