Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как проиндексировать таблицу
 
 автор: Gnn   (03.03.2008 в 14:43)   письмо автору
 
 

Мне необходимо проиндексировать таблицу по полю name кое имеет тип VARCHAR 255,
а также другую таблицу поле description кое тип имеет text, необходимо создать индекс FULLTEXT. Я предпологая что нужно создать с помощью оператора
<? ALTER TABLE article ADD FULLTEXT name (name); ?>
Но где именно мне эту строку прописать, чтобы она выполнила свою функцию в данной таблице.
Спасибо.

   
 
 автор: Gnn   (04.03.2008 в 09:41)   письмо автору
 
   для: Gnn   (03.03.2008 в 14:43)
 

<?php
if(!empty($name))
{
// Выбираем логику поиска, если задано несколько ключевых слов
if($logic == LOGIC_OR) $logstr = "OR";
else $logstr = "AND";
// Разбиваем поисковую фразу на подстроки, разделенные пробелами
$name = trim($name);
$temp = strtok($name," ");
while ($temp)
{
// Полнотекстовый поиск по столбцу name таблицы articles
// Формируем посковую часть SQL-запроса, учитывая логику,
// заданную во временной переменной $logic
if($id_query) $search .= " $logstr MATCH (name) AGAINST ('$temp')";
else $search .= "MATCH (name) AGAINST ('$temp')";
$id_query = true;
$temp = strtok(" ");
}
// Формируем фрагмент SQL-запроса, ответственный за поиск
// в определенном разделе, если значение $id_page не установлено,
// не имеет значения раздел и поиск осуществляется по всем разделам.
if(!empty($id_page)) $pagetmp = " AND id_page = $id_page";
// В зависимости от режима поиска формируем SQL-запрос
switch($srchwhere)
{
case TITLES: // Поиск в названиях статей
{
// Формируем SQL-запрос
$query = "SELECT * FROM 'articles'
WHERE $search
AND id_forum=$id_forum
AND hide='show'
$pagetmp
ORDER BY time DESC LIMIT $numberthemes";
$src = mysql_query($query);
break;
}
case ARTICLES: // Полнотекстовый поиск по сообщениям
{
// Формируем SQL-запрос
$query = "SELECT 'id_article' FROM paragraphes
WHERE $search AND hide='show'
$pagetmp
GROUP BY id_article";
$par = mysql_query($query);


// if($par) puterror("Ошибка при выборе параграфов...");
$numtot = mysql_num_rows($par);
if($numtot>0)
{
$query = "SELECT * FROM 'articles'
WHERE 'id_article' IN (";
while($art = mysql_fetch_array($par))
{
$query .= $art['id_article'].",";
}
$query .= "0) AND id_forum=$id_forum AND hide='show'
GROUP BY 'id_theme'
ORDER BY 'time' DESC
LIMIT $numberthemes";
$src = mysql_query($query);
} else echo "По запросу ничего не найдено22.";
break;
}
}
// Выводим список найденных статей
if($src) puterror("Ошибка при выборе статей...");
// Выясняем количество найденных статей
$numtot = mysql_num_rows($src);
if($numtot>0)
{
while($art = mysql_fetch_array($src))
{
echo "<a href=art.php?
id_article=".$art['id_article'].">
".$art['name']."</a><br>";
}
} else echo "По запросу ничего не найдено11";
}
?>
</body>
</html>



При поиске выдает такую ошибку не могу понять, то ли запрос неправильно сформирован



Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\Site\article\searchform.php on line 147
По запросу ничего не найдено22.
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in Z:\home\localhost\www\Site\article\searchform.php on line 168
По запросу ничего не найдено11

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования