Есть рабочий скрипт поиска на сайте по одной таблице. У меня название товара и описание находятся в разных связанных таблицах. Нужно, чтобы поиск проходил по описанию товара, а пользователю выдавалось название товара с картинкой и ссылкой на полное описание.
Подскажите пожалуйста, как сделать, чтобы в ссылку можно было вставить номер названия "name_k" из таблицы "Описание товара" и вывести соответствующее название товара "name_k" из таблицы "Название товара".
<?php
define('DB_HOST', 'localhost');
define('DB_USER', 'kolbasa');
define('DB_PASS', '123');
define('DB_NAME', 'kolbasy');
if (!mysql_connect(DB_HOST, DB_USER, DB_PASS)) {exit('Cannot connect to server');}
if (!mysql_select_db(DB_NAME)) {exit('Cannot select database');}
mysql_query('SET NAMES utf8');
function search ($query) {
$query = trim($query);
$query = mysql_real_escape_string($query);
$query = htmlspecialchars($query);
if (!empty($query)) {
if (strlen($query) < 3) {
$text = '<p>Слишком короткий поисковый запрос.</p>'; }
else if (strlen($query) > 128) {
$text = '<p>Слишком длинный поисковый запрос.</p>'; }
else { $q = "SELECT * FROM tovar WHERE `name_k` LIKE '%$query%' OR `title` LIKE '%$query%' OR `text` LIKE '%$query%' OR `descr` LIKE '%$query%'";
$result = mysql_query($q);
if (mysql_affected_rows() > 0) {
$row = mysql_fetch_assoc($result);
$num = mysql_num_rows($result);
$text = '<p>По запросу <b>'.$query.'</b> найдено совпадений: '.$num.'</p>';
do {'$row[page_id]'"; $result1 = mysql_query($q1);
if (mysql_affected_rows() > 0)
$text .= '<p><a href="/tovar_one.php?onek='.$row['id'].'&kol='.$row['name_k'].'&vkol='.$row['vkol'].'&categ='.$row['cat'].'" title="'.$row['title'].'">'.$row['name_k'].'</a></p> <p>'.$row['linkk'].'</p>'; }
while ($row = mysql_fetch_assoc($result)); }
else { $text = '<p>По вашему запросу ничего не найдено.</p>'; } } }
else { $text = '<p>Задан пустой поисковый запрос.</p>'; } return $text; }
if (!empty($_POST['query'])) {
$search_result = search ($_POST['query']);
echo $search_result;
} ?>