Доброе время суток!
помогите пожалуйста
у меня поиск работает выводит две таблици
и поидеи должны быть разные ссылки
на заголовке странице
вот код
//получаем данные через $_POST
if (isset($_GET['search'])) {
// подключаемся к базе
include('db.php');
$db = new db();
// никогда не доверяйте входящим данным! Фильтруйте всё!
$searchquery = ($_GET['search']);
$search_output = "";
$word = mysql_real_escape_string($_GET['search']);
$index = 0;
$returned_array = array();
// Строим запро
$sql = "(SELECT heb_id AS id, heb_title AS title, heb_text AS text FROM heb WHERE heb_text LIKE '%" . $word . "%' OR heb_title LIKE '%" . $searchquery . "%' ORDER BY heb_title LIMIT 5) UNION
(SELECT link_id AS id, link_title AS title, link_text AS text FROM links_heb WHERE link_text LIKE '%" . $word . "%' OR link_title LIKE '%" . $searchquery . "%' ORDER BY link_title LIMIT 5)";
// Получаем результаты
$row = $db->select_list($sql);
$query = mysql_query($sql) or die(mysql_error());
$count = mysql_num_rows($query);
if(count($row)) {
// if($count > 0){
$search_output = '';
$search_output = '<div class="search1"><ul class="result"><li>לבקשתכם<strong class="result1"> ' . $searchquery . ' </strong>מצא<strong class="result1"> ' . $count . '</strong> תוצאות </li></ul></div>';
echo $search_output;
$result1 = 'update.php?hid';
$result2 = 'links_form.php?hid';
$result3 = mysql_query($sql);
$end_result = '';
if(!$result1)
return false;
while($row1 = mysql_fetch_array($result1, MYSQL_ASSOC))
{
$returned_array[$index]['data'] = $row1;
$returned_array[$index]['href'] = 'update.php?hid';
$index++;
}
foreach($row as $r){
$result4 = $r['text'];
$result = $r['title'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= ' <table cellspacing="0" cellpadding="0" border="0" class="rounded-corner"><tr><td>'. str_ireplace($word, $bold,'<a href="'.$r['href'].'='.$r['data']['id'].'">'.$result.'</a>' ) .'</td></tr><br />
<tr><td>'. str_ireplace($word, $bold,$result4).'</td></tr></table>';
}
return $returned_array;
echo $end_result;
// }else{
// $search_output = '<div class="error"></div>';
// }
} else {
echo '<ul class="update_error"><li>0 תוצאות עבור <strong>'.$searchquery.'</strong></li></ul>';
}
}
спасибо зарание
Спустя 2 часа, 2 минуты, 7 секунд (31.01.2012 - 11:53) Winston написал(а):
Особо в код не вникал, но бросилось в глаза то, что ты прописываешь ссылки вручную
Цитата (leonweb @ 31.01.2012 - 08:51) |
$returned_array[$index]['href'] = 'update.php?hid'; |
Спустя 8 минут, 15 секунд (31.01.2012 - 12:02) leonweb написал(а):
надо просто сделать проверку на ссылки я уже замучился много испробывал но не один не роботает
я чучуть исправмл код посматри
я чучуть исправмл код посматри
<?php
//получаем данные через $_POST
if (isset($_GET['search'])) {
// подключаемся к базе
include('db.php');
$db = new db();
// никогда не доверяйте входящим данным! Фильтруйте всё!
$searchquery = ($_GET['search']);
$search_output = "";
$word = mysql_real_escape_string($_GET['search']);
// Строим запро
$sql = "(SELECT heb_id AS id, heb_title AS title, heb_text AS text FROM heb WHERE heb_text LIKE '%" . $word . "%' OR heb_title LIKE '%" . $searchquery . "%' ORDER BY heb_title LIMIT 5) UNION
(SELECT link_id AS id, link_title AS title, link_text AS text FROM links_heb WHERE link_text LIKE '%" . $word . "%' OR link_title LIKE '%" . $searchquery . "%' ORDER BY link_title LIMIT 5)";
// Получаем результаты
$row = $db->select_list($sql);
$query = mysql_query($sql) or die(mysql_error());
$count = mysql_num_rows($query);
if(count($row)) {
// if($count > 0){
$search_output = '';
$search_output = '<div class="search1"><ul class="result"><li>לבקשתכם<strong class="result1"> ' . $searchquery . ' </strong>מצא<strong class="result1"> ' . $count . '</strong> תוצאות </li></ul></div>';
echo $search_output;
$result1 = 'update.php?hid';
$result2 = 'links_form.php?hid';
$end_result = '';
if($_GET['search'] === $result1){
foreach($row as $r){
$result4 = $r['text'];
$result = $r['title'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= ' <table cellspacing="0" cellpadding="0" border="0" class="rounded-corner"><tr><td>'. str_ireplace($word, $bold,'<a href="'.$result1.'='.$r['id'].'">'.$result.'</a>' ) .'</td></tr><br />
<tr><td>'. str_ireplace($word, $bold,$result4).'</td></tr></table>';
}
}else{
foreach($row as $r){
$result4 = $r['text'];
$result = $r['title'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= ' <table cellspacing="0" cellpadding="0" border="0" class="rounded-corner"><tr><td>'. str_ireplace($word, $bold,'<a href="'.$result2.'='.$r['id'].'">'.$result.'</a>' ) .'</td></tr><br />
<tr><td>'. str_ireplace($word, $bold,$result4).'</td></tr></table>';
}
}
echo $end_result;
// }else{
// $search_output = '<div class="error"></div>';
// }
} else {
echo '<ul class="update_error"><li>0 תוצאות עבור <strong>'.$searchquery.'</strong></li></ul>';
}
}
?>
Спустя 1 час, 23 минуты, 19 секунд (31.01.2012 - 13:25) leonweb написал(а):
при поиске находит текст и заголовок
заголовок это ссылка
в db поиск находит в двух таблицах
и по идеи должно при нажатии на заголовок
вывести разные сылки а у меня выводит только одну ссылку
подскажите в чём ошибка
заголовок это ссылка
в db поиск находит в двух таблицах
и по идеи должно при нажатии на заголовок
вывести разные сылки а у меня выводит только одну ссылку
подскажите в чём ошибка
$result1 = 'update.php?hid';
$result2 = 'links_form.php?hid';
$end_result = '';
if($_GET['search'] === $result1){
foreach($row as $r){
$result4 = $r['text'];
$result = $r['title'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= ' <table cellspacing="0" cellpadding="0" border="0" class="rounded-corner"><tr><td>'. str_ireplace($word, $bold,'<a href="'.$result1.'='.$r['id'].'">'.$result.'</a>' ) .'</td></tr><br />
<tr><td>'. str_ireplace($word, $bold,$result4).'</td></tr></table>';
}
}else{
foreach($row as $r){
$result4 = $r['text'];
$result = $r['title'];
$bold = '<span class="found">' . $word . '</span>';
$end_result .= ' <table cellspacing="0" cellpadding="0" border="0" class="rounded-corner"><tr><td>'. str_ireplace($word, $bold,'<a href="'.$result2.'='.$r['id'].'">'.$result.'</a>' ) .'</td></tr><br />
<tr><td>'. str_ireplace($word, $bold,$result4).'</td></tr></table>';
}
}
echo $end_result;
Спустя 6 часов, 20 минут, 53 секунды (31.01.2012 - 19:46) leonweb написал(а):
мне что не кто не может помочь?
пожалуйста помогите хотя бы какуюто подсказку напишите
спасибо за рание
пожалуйста помогите хотя бы какуюто подсказку напишите
спасибо за рание