Sliph
18.06.2008, 19:08
Вообщем ситуация такова: из базы MySql, php делает выборку, затем формирует xml который вызываеться в флеш. Все работает отлично, но...
когда в базе хоть в одном поле появляеться html-тег оно не выводиться.
Собственно сам пхп:
<?php
$hostname_lc = "localhost";
$database_lc = "flash-php";
$username_lc = "root";
$password_lc = "";
$lc = mysql_pconnect($hostname_lc, $username_lc, $password_lc) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_lc, $lc);
$query_rc = "SELECT * FROM lexma_news";
$rc = mysql_query($query_rc, $lc) or die(mysql_error());
$row_rc = mysql_fetch_assoc($rc);
$totalRows_rc = mysql_num_rows($rc);
$header = iconv('', 'UTF-8', ".$row_rc[header].");
$news = iconv('', 'UTF-8', ".$row_rc[news].");
echo '<?xml version="1.0" encoding="utf-8"?>';
echo "\n";
echo '<news>';
echo "\n";
do {
echo '<news_id id="'.$row_rc['id'].'">';
echo "\n";
echo '<date>'.$row_rc['date'].'</date>';
echo "\n";
echo '<header>'.iconv( '', 'UTF-8',$row_rc['header']).'</header>';
echo "\n";
echo '<main>'.iconv( '', 'UTF-8',$row_rc['news']).'</main>';
echo "\n";
echo '<link>'.$row_rc['link'].'</link>';
echo "\n";
echo '</news_id>';
echo "\n";
} while ($row_rc = mysql_fetch_assoc($rc));
echo '</news>';
mysql_free_result($rc);
?>
и AS:
var outxml:XML = new XML();
outxml.ignoreWhite = true;
outxml.onLoad = function(success:Boolean) {
if (success) {
var numentr = this.firstChild.childNodes.length;
for (var i = 0; i<numentr; i++) {
var xmloutput:XMLNode = this.firstChild.childNodes[i].childNodes;
numid = this.firstChild.childNodes[i].attributes["id"];
var date_strng:String = xmloutput[0].firstChild.nodeValue;
var header_strng:String = xmloutput[1].firstChild.nodeValue;
var news_strng:String = xmloutput[2].firstChild.nodeValue;
var link_strng:String = xmloutput[3].firstChild.nodeValue;
var output_strng:String = "<font color='#FFFFFF'><p>";
output_strng += "<span><b>"+date_strng+".<a href='"+link_strng+"'>"+header_strng+"</a><b></span><br>";
output_strng += ""+news_strng+"<br>";
output_strng += "</p></font>";
txtoutput.htmlText += output_strng +"<br>";
}
} else {
trace("error loading XML");
}
};
outxml.load("http://test1.ru/index.php");
Делается все в Flash CS3, но AS 2.0
Помогите что делать? Пробовал вставлять CDATA не помогло, може не так вставил?
...
output_strng += "<![CDATA["+news_strng+"]]><br>";
...
Не бейте, я только лиш начал осваивать XML и Flash.
P.s.: это новостная лента, поля в таблице базы: id , header , news , link , date
когда в базе хоть в одном поле появляеться html-тег оно не выводиться.
Собственно сам пхп:
<?php
$hostname_lc = "localhost";
$database_lc = "flash-php";
$username_lc = "root";
$password_lc = "";
$lc = mysql_pconnect($hostname_lc, $username_lc, $password_lc) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db($database_lc, $lc);
$query_rc = "SELECT * FROM lexma_news";
$rc = mysql_query($query_rc, $lc) or die(mysql_error());
$row_rc = mysql_fetch_assoc($rc);
$totalRows_rc = mysql_num_rows($rc);
$header = iconv('', 'UTF-8', ".$row_rc[header].");
$news = iconv('', 'UTF-8', ".$row_rc[news].");
echo '<?xml version="1.0" encoding="utf-8"?>';
echo "\n";
echo '<news>';
echo "\n";
do {
echo '<news_id id="'.$row_rc['id'].'">';
echo "\n";
echo '<date>'.$row_rc['date'].'</date>';
echo "\n";
echo '<header>'.iconv( '', 'UTF-8',$row_rc['header']).'</header>';
echo "\n";
echo '<main>'.iconv( '', 'UTF-8',$row_rc['news']).'</main>';
echo "\n";
echo '<link>'.$row_rc['link'].'</link>';
echo "\n";
echo '</news_id>';
echo "\n";
} while ($row_rc = mysql_fetch_assoc($rc));
echo '</news>';
mysql_free_result($rc);
?>
и AS:
var outxml:XML = new XML();
outxml.ignoreWhite = true;
outxml.onLoad = function(success:Boolean) {
if (success) {
var numentr = this.firstChild.childNodes.length;
for (var i = 0; i<numentr; i++) {
var xmloutput:XMLNode = this.firstChild.childNodes[i].childNodes;
numid = this.firstChild.childNodes[i].attributes["id"];
var date_strng:String = xmloutput[0].firstChild.nodeValue;
var header_strng:String = xmloutput[1].firstChild.nodeValue;
var news_strng:String = xmloutput[2].firstChild.nodeValue;
var link_strng:String = xmloutput[3].firstChild.nodeValue;
var output_strng:String = "<font color='#FFFFFF'><p>";
output_strng += "<span><b>"+date_strng+".<a href='"+link_strng+"'>"+header_strng+"</a><b></span><br>";
output_strng += ""+news_strng+"<br>";
output_strng += "</p></font>";
txtoutput.htmlText += output_strng +"<br>";
}
} else {
trace("error loading XML");
}
};
outxml.load("http://test1.ru/index.php");
Делается все в Flash CS3, но AS 2.0
Помогите что делать? Пробовал вставлять CDATA не помогло, може не так вставил?
...
output_strng += "<![CDATA["+news_strng+"]]><br>";
...
Не бейте, я только лиш начал осваивать XML и Flash.
P.s.: это новостная лента, поля в таблице базы: id , header , news , link , date