我使用的是javascript插件这是我需要u帮助的行
<script type="text/javascript">
$('ul#news').newswidget({ source: ['http://rss.news.yahoo.com/rss/us', 'http://rss.news.yahoo.com/rss/world', 'http://feeds.bbci.co.uk/news/rss.xml'],
我想从MySQL添加URL数据我用的是像这样的while循环
$('ul#news').newswidget({ source:[<?php
while($rssrow = mysql_fetch_array($rss))
{
echo "'"."$rssrow[rss_name]"."'".",";
}
?>],
它不能正常工作:(。我需要像这样得到URL URL RUL。这意味着最后一个
没有逗号谁来帮帮我
通过一个简单的重组,你可以很容易地做到这一点:
if($rssrow = mysql_fetch_array($rss))
{
echo "'".$rssrow['rss_name']."'";
while($rssrow = mysql_fetch_array($rss))
{
// note no quotes -- they are redundant
// prepend the comma
echo ","."'".$rssrow['rss_name']."'";
}
}
它确实为读者增加了一个额外的步骤,但它的好处是不需要子字符串、新数组或标志。
您可以直接创建字符串并删除最后一个逗号:
$result = '';
while($rssrow = mysql_fetch_array($rss))
{
$result .= "'"."$rssrow[rss_name]"."'".",";
}
echo ($result != '') ? substr($result, 0, -1) : "''";
OR使用implode()
:
$result = array();
while($rssrow = mysql_fetch_array($rss))
{
$result[] = $rssrow[rss_name];
}
echo "'" . implode($result, "','") . "'";
(如果结果集为空,这两个方法都将输出''
)
$urls = "";
while($rssrow = mysql_fetch_array($rss))
{
$urls.= "'$rssrow[rss_name]',";
}
echo substr($urls, 0, -1);
我想知道为什么没有注释指出应该对输出进行转义。如果一个条目包含一个'
,那么除了Dmitry F的第一个解之外的所有解都会被严重破坏。
$('ul#news').newswidget({ source:[<?php
$arr = array();
while($rssrow = mysql_fetch_array($rss))
{
$arr[] = '"' . str_replace('"', ''"', $rssrow['rss_name']) . '"';
}
echo implode(',', $arr);
?>],
这里有一个稍微不同的方法:
<?php
$news = array(
'source' => array(
'http://example.com',
'http://example.com'
)
);
$news_json = json_encode($news);
?>
<script>
$('ul#news').newswidget(<?php echo $news_json; ?>);
</script>
另一种变化:
$url = array();
while($rssrow = mysql_fetch_array($rss))
{
$url[] = '"' . $rssrow['rss_name'] . '"';
}
echo implode(',', $url);