Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > выбор из базы


Автор: Рыжий 19.2.2005, 21:15
Вот столкнулся с проблемой при написании скрипта.
Итак у меня есть скрипт ленты новостей, а мне нужно добавить в неё немного смайликов.
У меня на локалке стоит 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 "\">";
               }
       }

}
?>


Мда, конечно решение не самое лучшее, может есть что то попроще?
Ну а пока над этим думайте :)

Автор: Irokez 19.2.2005, 21:53
а не легче ли: получая из базы все смайлики заменять в тексте при помощи регекспа смайлы на картинки?

Автор: Рыжий 19.2.2005, 22:58
хм, возможно и легче, попробую так, как выполню - отвечу smile

Автор: The MASTER 19.2.2005, 23:16
Лучше Ява скриптом искать все символы smile =) и т.п. и заменять на определённую картинку!

Автор: Рыжий 19.2.2005, 23:25
Цитата
а не легче ли: получая из базы все смайлики заменять в тексте при помощи регекспа смайлы на картинки?


Погоди какой регексп?
regexp что ли?? smile

Автор: Irokez 20.2.2005, 09:45
PHP-Script регулярные выражения - preg_replace(), хотя можно и просто str_replace()

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)