Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
поиск через LIKE (stormik) 03/10/2007 - 09:36:43
      Re: поиск через LIKE (stormik) 03/10/2007 - 10:11:36

> Original message text:
> From: stormik - 03/10/2007 - 09:36:43
> Subject:поиск через LIKE
> -----------------
> $query2 = "select * from nuke_pcatalog_catalog, nuke_pcatalog_topics, nuke_pcatalog_firms where nuke_pcatalog_catalog.category=nuke_pcatalog_topics.ID AND nuke_pcatalog_catalog.seller=nuke_pcatalog_firms.ID AND (";
>
> $keyword = split(" ",$keyword);
>
> for ($i = 0; $i <= count($keyword)-1; $i++) {
> if ($i == "0") {
> $query2 .= "`about` LIKE '%$keyword[$i]%'";
> }
> else {
> $query2 .= " OR `about` LIKE '%$keyword[$i]%'";
> }
> }
> $query2 .= ")";
>
>
> $getquery = $db->sql_query($query2);
>
> echo "<b>Поиск по каталогу</b><br><br>";
> echo $query2;
> if ($keyword !== "") {
>
> if (!$result2 = $db->sql_fetchrow($getquery)) {
> echo "<table border\"0\"><tr><td><font color=\"red\">По вашему запросу ничего не найдено</font></td></tr>";
> }
> else {
> echo "шапка таблицы";
> }
> while ($result2 = $db->sql_fetchrow($getquery)) {
> if ($result2['ptel'] == "") {
> $ptel = " ";
> }
> else {
> $ptel = $result2['ptel'];
> }
> $i++;
> if ($i == 1) {
> echo "<tr bgcolor=\"#C6D5E0\"><td>".$result2['about']."</td><td align=\"center\">".$result2['price']."</td>";
> if ($result2['fdate'] == "1") {
> echo "<td align=\"center\"><a href=\"modules/pfirms/echo.php?cid=".$result2['seller']."\" target=\"_blank\" onclick=\"return popup(this,700,220);\">".$result2['fmname']."</a></td>";
> }
> else {
> echo "<td align=\"center\">".$result2['fmname']."</td>";
> }
> echo "<td align=\"center\">".$ptel."</td></tr>";
> }
> if ($i == 2) {
> echo "<tr bgcolor=\"#EEF3F6\"><td>".$result2['about']."</td><td align=\"center\">".$result2['price']."</td>";
> if ($result2['fdate'] == "1") {
> echo "<td align=\"center\"><a href=\"modules/pfirms/echo.php?cid=".$result2['seller']."\" target=\"_blank\" onclick=\"return popup(this,700,250);\">".$result2['fmname']."</a></td>";
> }
> else {
> echo "<td align=\"center\">".$result2['fmname']."</td>";
> }
> echo "<td align=\"center\">".$ptel."</td></tr>";
> $i = 0;
> }
> }
> echo "</table>";
> }
> else {
> echo "<font color=\"red\">введите ключевое слово для поиска</font>";
> }
>
> Есть такой запрос для поиска.
> Если в строке поиска ввести одно слово, результаты выводятся. Если вводить два слова и более, то выводится только шапка таблицы (шапка таблицы выводится после проверки выполнения запроса).
> Что в коде не так и что нужно подправить? Надеюсь на вашу помошь!!!
>


From: stormik - 03/10/2007 - 10:11:36
Subject:поиск через LIKE
-----------------
если в цикл for вставлять вывод ячеек массива, то все прекрасно выводится!
Еще я вывожу результирующий запрос echo $query2; Запрос составляется верно. Этот запрос выполняю напрямую в mysql и выдаются нормально результата по одному или по двум словам (поиск по трем и более словам непробовал).



[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
32274



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |