Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выбор из базы 
:(
    Опции темы
Рыжий
Дата 19.2.2005, 21:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 1
Всего: 20



Вот столкнулся с проблемой при написании скрипта.
Итак у меня есть скрипт ленты новостей, а мне нужно добавить в неё немного смайликов.
У меня на локалке стоит phpbb2 и он использует базу данных для хранения смайликов, можно использовать это!
Так вот, при заполнении очередной новости чел например может написать:

всем привет :)

Вот мне нужно чтобы :) он заменил на соответствующий смайл.
Я например могу разбить эту строку на массив по пробелам:

Код

$sm_news=explode(" ",$news);


А вот дольше у меня заминка, я например думал сначала сосчитать сколько у меня смайликов и, если коды совпадают, то выводить соответствующую картинку.
Вот код

Код

<?php
$db=mysql_pconnect("localhost","root","");
mysql_select_db('mysql',$db);

$query = mysql_query("SELECT code,smile_url FROM phpbb_smilies ",$db);  //c базой соединились
 for($i=0;$row = mysql_fetch_array($query);$i++)    //подсчитываем, сколько у нас кодов для смайлов
{
$smile_code[$i]=$row['code'];

}





array_walk ($sm_news,'smiles');    //использую функцию array_walk чтобы проверить КАЖДУЮ ячейку массива.


function smiles($value)   //и вот она - функция, в которой у меня проблема:
{
       for ($i=0;$i<count($smile_code);$i++)
       {

         @$sql="select smile_url from phpbb_smilies where code LIKE ".$value." LIMIT 0, 30";
                while ($row=mysql_fetch_array($sql))
              {
                echo "<img src=\"../phpbb2/images/smiles/";
                echo $row["smile_url"];
                echo "\">";
               }
       }

}
?>


Мда, конечно решение не самое лучшее, может есть что то попроще?
Ну а пока над этим думайте :)
PM MAIL ICQ   Вверх
Irokez
Дата 19.2.2005, 21:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 3
Всего: 53



а не легче ли: получая из базы все смайлики заменять в тексте при помощи регекспа смайлы на картинки?
PM   Вверх
Рыжий
Дата 19.2.2005, 22:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 1
Всего: 20



хм, возможно и легче, попробую так, как выполню - отвечу smile
PM MAIL ICQ   Вверх
The MASTER
Дата 19.2.2005, 23:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Old master)
**


Профиль
Группа: Участник
Сообщений: 862
Регистрация: 19.7.2004
Где: Санкт-Петербург

Репутация: 1
Всего: 5



Лучше Ява скриптом искать все символы smile =) и т.п. и заменять на определённую картинку!
PM MAIL WWW ICQ   Вверх
Рыжий
Дата 19.2.2005, 23:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Помешанный
***


Профиль
Группа: Завсегдатай
Сообщений: 1423
Регистрация: 19.9.2004

Репутация: 1
Всего: 20



Цитата
а не легче ли: получая из базы все смайлики заменять в тексте при помощи регекспа смайлы на картинки?


Погоди какой регексп?
regexp что ли?? smile
PM MAIL ICQ   Вверх
Irokez
Дата 20.2.2005, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 3
Всего: 53



PHP-Script регулярные выражения - preg_replace(), хотя можно и просто str_replace()
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Базы Данных | Следующая тема »


 




[ Время генерации скрипта: 0.0442 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.