Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ActionScript 1,2 > Интеграция PHP => Flash


Автор: Shark 30.5.2010, 13:13
всю ночь искал, что то похрожее на то, что мне нужно, но так и не нашел :(
поэтому прошу помощи тут

есть php файл:

wall.php
Код

<?php
include "conf.php";
include "indexes.php";

$pervpage=''; 
$page2left='';  
$page1left=''; 
$page='';
$page1right='';  
$page2right=''; 
$nextpage='';

// Переменная хранит число сообщений выводимых на станице 
$num  =  15; 
// Извлекаем из URL текущую страницу 
$page  =  $_GET['page'];
// Определяем общее число сообщений в базе данных 

$newss  =  mysql_query ( "SELECT COUNT(*) FROM lfs_wall" ); 
$posts  =  mysql_result ( $newss,0 ); 
$count = mysql_result($newss,0);
// Находим общее число страниц
$total  =  intval (( $posts  -  1 ) /  $num ) +  1; 
// Определяем начало сообщений для текущей страницы 
$page  =  intval ( $page ); 
// Если значение $page меньше единицы или отрицательно 
// переходим на первую страницу 
// А если слишком большое, то переходим на последнюю 
if(empty( $page ))  $page  =  1; 
if( $page  >  $total )  $page  =  $total; 
// Вычисляем начиная к какого номера 
// следует выводить сообщения 
$start  =  $page  *  $num  -  $num; 
// Выбираем $num сообщений начиная с номера $start 
$newss  =  mysql_query ( "SELECT * FROM lfs_wall ORDER by 1 DESC LIMIT $start, $num" ); 
// В цикле переносим результаты запроса в массив $ postrow 
while (  $news  =  mysql_fetch_array ( $newss )) 
{
 if($news['year'] == date('Y', time()))
    {
    
   $news['walltext']=str_replace("","<B>",$news['walltext']);
   $news['walltext']=str_replace("[B]","<B>",$news['walltext']);
   $news['walltext']=str_replace("
","</B>",$news['walltext']);
   $news['walltext']=str_replace("[/B]","</B>",$news['walltext']);
   $news['walltext']=str_replace("[i]","<I>",$news['walltext']);
   $news['walltext']=str_replace("[I]","<I>",$news['walltext']);
   $news['walltext']=str_replace("[/i]","</I>",$news['walltext']);
   $news['walltext']=str_replace("[/I]","</I>",$news['walltext']);    
   $news['walltext']=str_replace("[u]","<U>",$news['walltext']);
   $news['walltext']=str_replace("[U]","<U>",$news['walltext']);
   $news['walltext']=str_replace("[/u]","</U>",$news['walltext']);
   $news['walltext']=str_replace("[/U]","</U>",$news['walltext']);
   $news['walltext']=preg_replace( '/\[color=(.*)\]/isU', '<font color=\'\\1\'>', $news['walltext']);
   $news['walltext']=str_replace("[/color]","</font>",$news['walltext']);

   $news['walltext']=preg_replace( '/\[size=(.*)\]/isU', '<font size=\'\\1\'>', $news['walltext'] );
   $news['walltext']=str_replace("[/size]","</font>",$news['walltext']);

   $news['walltext']=preg_replace( '/\[align=(.*)\]/isU', '<div align=\'\\1\'>', $news['walltext'] );
   $news['walltext']=str_replace("[/align]","</div>",$news['walltext']);
   
   $news['walltext']=preg_replace('/\[url=(.+)\](.+)\[\/url\]/iU', '<a href="http://\1" target="_blank">\2</a>', $news['walltext']);
   
   $news['walltext']=preg_replace('/\[img\](http:\/\/[a-zA-Z_0-9\-\.\/]*\.(jpg|gif|png))\[\/img\]/is', '<img src="$1">', $news['walltext']);
   
   echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=windows-1251\" />
   <table border=\"1\" width=\"100%\"  align=\"center\" style=\"border-collapse:collapse;table-layout:fixed;\">
   <tr><td width=70% align=left class=\"TableText\"><font color=#FFFFFF>Новость была создана: ".date('d.m.Y', $news['timestamp'])."<hr>
   <font color=#FFFFFF>".nl2br($news['walltext'])."<br />
   <div align=right><font color=#FFFFFF>Автор: ".$news['auth']."</font></div></td></tr></table><br />";
    }
}
               echo "<div align=center><font size=2 color=#FFFFFF>Страницы: ";
// Проверяем нужны ли стрелки назад 
               if ( $page  !=  1 )  $pervpage  =  "<a href=index.php?page=1> <<</a> 
               <a href=index.php?page=" . ( $page  -  1 ). "><</a> "; 
// Проверяем нужны ли стрелки вперед 
               if ( $page  !=  $total )  $nextpage  =  " <a href=index.php?page=" . ( $page  +  1 ). ">></a> 
               <a href=index.php?page="  . $total .  ">>></a>"; 
// Находим две ближайшие станицы с обоих краев, если они есть 
               if( $page  -  2  >  0 )  $page2left  =  " <a href=index.php?page=" . ( $page  -  2 ). ">" . ( $page  - 2 ). "</a> | "; 
               if( $page  -  1  >  0 )  $page1left  =  "<a href=index.php?page=" . ( $page  -  1 ). ">" . ( $page  - 1 ). "</a> | "; 
               if( $page  +  2  <=  $total )  $page2right  =  " | <a href=index.php?apage=" . ( $page  +  2 ). ">" . ( $page  +  2 ). "</a>"; 
               if( $page  +  1  <=  $total )  $page1right  =  " | <a href=index.php?page=" . ( $page  +  1 ). ">" . ( $page  +  1 ). "</a>"; 
// Вывод меню 
               echo  $pervpage . $page2left . $page1left . "<b>" . $page . "</b>" . $page1right . $page2right . $nextpage; 
               echo "</div></font>";

?>

файл новостей.

как сделать, чтоб этот код во флэше отображался так же как и в php (http://lfs.zabeykin.ru/view.php).. 
т.е. я во флэше делаю все тоже самое (верхнюю картинку и левый столбец (кнопки)).. и надо чтоб новостная лента была справо от всего этого... 

help me, please..
дайте примерчик, как это сделать...

Автор: SoWa 30.5.2010, 16:54
Юзай htmlText у текстового компонента, и будет тебе счастье гемор.
Флеш не умеет самостоятельно отображать такие сложные ХТМЛ блоки. Даже таблицы вроде не умеет. Простенькое форматирование текста, жирность, подчеркнутость, вставку картинок и еще по мелочи.
http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/flash/text/TextField.html#htmlText

Автор: Shark 30.5.2010, 17:22
блин... и никаких вариантов нету?

Автор: bars80080 30.5.2010, 19:42
ну, дык, а кто кричал, что табличная вёрстка старьё? дождались



шучу. flash - это не только вэб-сайты, а прямо скажем он изначально не предназначался для замены хтмл-страницы целиком. и вообще-то, правильно. хтмл должен верстаться хтмл-ом, а не чем другим. если вы собираетесь делать сайт на флеше, то его концепция изначально должна быть другой (то есть это не должна быть табличка с текстами). иначе просто не будет смысла это делать

Автор: Shark 30.5.2010, 21:22
bars80080, я понимаю, вот только начал flash изучать 2 дня назад... пол инета облазил...

зайди сюда http://lfs.zabeykin.ru/view.php вот мне во flash нужно сделать тоже самое.... если возможно как-то делать цикл с постраничным выводм напрямую из БД во flash, подскажи (простеньким примерчиком), буду очень признателен

Автор: bars80080 31.5.2010, 01:26
ну, вопрос прежде всего таков: зачем это делать во флеше?
флэш  потребляет гораздо больше времени и ресурсов при производстве, при этом в результате мы имеем неконкурентноспособное произведение, которое не читается поисковиками.
но главное: зачем? я понимаю, что в Китай можно и на велосипеде доехать, но самолётом проще, быстрее и удобнее


Цитата(Shark @  30.5.2010,  21:22 Найти цитируемый пост)
если возможно как-то делать цикл с постраничным выводм напрямую из БД во flash

данный момент вообще ничем не отличается от обычного варианта. надо только выводить не в тэгах, а чистой текстовой информацией. для простой структурированности, лучше в xml варианте или сериализованным массивом. к этому пхп-скрипту через класс Loader (AS3) обращаешься для получения данных, а затем уже строишь на флеше, как душа хочет

в AS2 как не знаю. там чересчур замороченная система loadmovie, которую я никогда не понимал.


Цитата(Shark @  30.5.2010,  21:22 Найти цитируемый пост)
подскажи (простеньким примерчиком)

в AS3 простых примеров не бывает. не вижу возможности, как простеньким примером пересказать содержание тысячестраничного талмуда. это не считая сопутствующих книг и нескольких электронных справочников. тебе нужно освоить работу с текстом, массивами, загрузчиками, разобраться во взаимоотношениях клипов.

два дня - это сверхоптимистично

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