Помощник
|
очень специфический вывод данных из базы |
OlegTitov
|
Сообщение
#1
|
||
|
|
||
|
|||
UncleM |
26.1.2010, 0:00;
Ответить: UncleM
Сообщение
#2
|
|
Это лучше делать не в SQL, а на выводе в PHP.
Вместо [php]echo $row->phrase;[/php]делайте [php]echo preg_replace("/(bus)/i","<span style='color:red;'>$1</span>",$row->phrase);[/php]Это лишь пример. Цвета и слова можно поместить в массивы для массовой замены. -------------------- |
|
|
OlegTitov
|
Сообщение
#3
|
|
Спасибо за отклик. Я не очень понял как это реализовать. Простите неука. Вот мой код вывода результатов, посмотрите плиз, что добавить нужно
[PHP]<?php $hostname = "XXX"; $username = "XXX"; $password = "XXX"; $dbName = "XXX"; $table = "terms"; $term = $_POST['term']; mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение"); mysql_select_db($dbName) or die (mysql_error()); mysql_query( 'SET NAMES "cp1251"'); $query = "SELECT * FROM $table WHERE term LIKE '%$term%'"; $result = mysql_query($query); $term = mysql_result($result, 0, "term"); $description = mysql_result($result, 0, "description"); echo "<p><strong>$term :</strong> $description</p>"; while ($row = mysql_fetch_array($result)) { echo "<p><strong>".$row ['term']." :</strong> ".$row ['description']."</p>"; } mysql_close(); ?>[/PHP] |
|
|
alexdrob |
26.1.2010, 3:42;
Ответить: alexdrob
Сообщение
#4
|
|
[php]<?php
$hostname = "XXX"; $username = "XXX"; $password = "XXX"; $dbName = "XXX"; $table = "terms"; $term = $_POST['term']; mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение"); mysql_select_db($dbName) or die (mysql_error()); mysql_query( 'SET NAMES "cp1251"'); $query = "SELECT * FROM $table WHERE term LIKE '%$term%'"; $result = mysql_query($query); $term = mysql_result($result, 0, "term"); $description = mysql_result($result, 0, "description"); $description = preg_replace("/$term/i","<span style='color:red;'>$1</span>",$description); echo "<p><strong>$term :</strong> $description</p>"; while ($row = mysql_fetch_array($result)) { echo "<p><strong>".$row ['term']." :</strong> ".preg_replace("/$row[term]/i","<span style='color:red;'>$1</span>",$row ['description'])."</p>"; } mysql_close(); ?> [/php] |
|
|
OlegTitov
|
Сообщение
#5
|
|
Спасибо alexdrob! Я залил это на сервер, но вообще ничего не изменилось. Вот как выводит (см. вложение)
Если бы как то расчленить на слова то что вводят в поле поиска и придать каждому компоненту разный цвет |
|
|
OlegTitov
|
Сообщение
#6
|
|
А уменя вопросик, вот мы здесь пишем переменную $1:
[PHP]".preg_replace("/$row[term]/i","<span style='color:red;'>$1</span>",$row ['description'])."[/PHP] А до этого нигде ее не задаем... ее не нужно задавать или я ошибаюсь. |
|
|
OlegTitov
|
Сообщение
#7
|
|
Разобрался:rolleyes:
Но немного нужна помощь. Если в базе есть например, такие слова "drug" и "drug substance", то при вводе слова drug в строку поиска выдает так: drug substance : лекарственная субстанция drug : лекарственное средство Т.е. первый раз встречая слово оно его выделяет, а второй раз нет... плиз хелп! [PHP]<?php $hostname = "ХХХ"; $username = "ХХХ"; $password = "ХХХ"; $dbName = "ХХХ"; $table = "terms"; $term = $_POST['term']; mysql_connect($hostname, $username, $password) or die ("Не могу создать соединение"); mysql_select_db($dbName) or die (mysql_error()); mysql_query( 'SET NAMES "cp1251"'); $query = "SELECT * FROM $table WHERE term LIKE '%$term%'"; $result = mysql_query($query); $beginText = mysql_result($result, 0, "term"); $description = mysql_result($result, 0, "description"); $regime = 0; if($regime == 1) { $patterns = "/(\b".$term."\b)+/i"; } else { $patterns = "/(".$term.")+/i"; } $replace = "<span style=\"color: #000; background-color: #FC0;\">$1</span>"; $endText = preg_replace($patterns,$replace,$beginText); echo "<p><strong>$endText :</strong> $description</p>"; $term = mysql_result($result, 0, "term"); while ($row = mysql_fetch_array($result)) { echo "<p><strong>".$row ['term']." :</strong> ".$row ['description']."</p>"; } mysql_close(); ?>[/PHP] |
|
|
Witu |
26.1.2010, 23:41;
Ответить: Witu
Сообщение
#8
|
|
|
при выводе в цикле что то типа такого будет
[php] str_replace($term, "<span style=\"color: #000; background-color: #FC0;\">$1</span>", $row ['description']) [/php]
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Большие базы Semrush кейвордов по разным тематикам! Много кейвордов с трафиком и без конкуренции! Volume, KD, CPC | 22 | Krok | 6734 | 12.4.2024, 5:17 автор: Krok |
|
Базы Youtube кейвордов с данными по конкуренции и Volume | 5 | Krok | 1457 | 11.4.2024, 5:12 автор: Krok |
|
Интеграция спортивных данных API. Коэффициенты БК, Live результаты | 15 | yaroslav89 | 6838 | 8.4.2024, 17:17 автор: spoyer_ru |
|
Свежие базы ключевых слов с подсказок гугла! | 125 | Krok | 68500 | 7.4.2024, 4:52 автор: Krok |
|
Базы досок объявлений России, Украины, Беларуси и Казахстана | 5 | freeax | 6452 | 10.3.2024, 15:07 автор: freeax |
Текстовая версия | Сейчас: 19.4.2024, 8:00 |