在xml文件中回显php代码

时间:2011-05-07 04:03:42

标签: php mysql xml

再次提出另一个问题。如果这太复杂了,我甚至都不会打扰......所以继续查询。

我有头衔,艺术家,姓名和人物。存储在mysql中的奉献消息。可能这是愚蠢的......有可能创建xml文件以从数据库中检索上述四个信息。我在xml文件上编写了以下代码但不确定丢失了什么.config.php有数据库连接信息。

非常感谢你的帮助!!!! 内华达州

    <?php

require("config.php");



$i=0;
$db = "SELECT * FROM songlist WHERE songtype='S' ORDER BY date_added DESC LIMIT 50";
$db = "SELECT songlist.artist, songlist.title, requestlist.name, requestlist.msg FROM songlist, requestlist WHERE requestlist.name <> '' and requestlist.songID = songlist.ID ORDER BY requestlist.t_stamp DESC LIMIT 20";
$count = 1;

    while($results = $db->row())
    {
      $count++;

      if(($count % 2)== 0)

?>
<?php echo('<?xml version="1.0" encoding="utf-8"?>'); ?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">

<trackList>
  <track>

        <Song><?php echo $results['title']?></Song>
        <album><![CDATA[<?php echo $results['artist']; ?>]]></album>
    </track>

    </trackList>

</playlist>

<?
$i++;
}
?>

2 个答案:

答案 0 :(得分:0)

好的,你的主要问题似乎是:

$db = "SELECT * ..";
$db = "SELECT song ...";

    while($results = $db->row())
    {

您正在那里分配一个字符串,然后立即尝试将其用作某种数据库接口。由于我不知道您的配置脚本中发生了什么,或者您使用了什么奇怪的数据库接口,因此使用过时的mysql_functions更容易解释:

$result = mysql_query("SELECT songlist.artist, ... goes here");

while($results = mysql_fetch_assoc($result))
{

mysql_query运行SELECT语句,然后才能使用从mysql_query获得的$ result值用mysql_fetch_assoc迭代结果。

请注意,您必须决定在这里实际运行哪两个查询。您不能同时使用两个SELECT查询。 (至少在你的情况下并非如此。)

答案 1 :(得分:0)

您还没有解释您的问题是什么?另外,我需要有关xml所需格式的信息,或者需要将命令发送到数据库代码的命令。

看起来你也有一些格式错误。我只能猜测会有什么用,但试试这个:

1)在文件的开头,您似乎忘记了开始标记 2)$ i似乎未使用,删除它(?) 3)你的SQL语句不仅没有用引号括起来,而且还需要发送到数据库代码(一个完整的猜测,因为我不知道你的config.php里面有什么是$ db-&gt; query(“你的sql这里”); 4)删除:'); ?&GT; 5)......实际上这很傻,我应该为你重写它!

事情是,在其他任何事情之前,我需要知道如果你需要使用config.php?或者如果我可以使用本机php函数进行编码。

但是这仍然充满了问题(因为我不知道xml的格式对于它的要求是什么)但是我会试一试!所以,告诉我你是否需要使用你的config.php,如果没有,我会快速编写代码。否则你将不得不发布config.php的内容

干杯

好的,这是我最好的猜测:

<?xml version="1.0" encoding="utf-8"?>
<playlist version="1" xmlns="http://xspf.org/ns/0/">
    <trackList>
<?php

$DB_SERVER = "localhost";
$DB_NAME = "yourdatabasename";
$DB_USER = "yourdbuser";
$DB_PASSWORD = "yourpw";

mysql_connect($DB_SERVER, $DB_USER, $DB_PASSWORD);
mysql_select_db($DB_NAME);

$sql = "select * from songlist order by date_added desc limit 10";

$res = mysql_query($sql);

while ($result = mysql_fetch_assoc($res)){
    ?>
        <track>
            <Song><![CDATA[<?= $result['title']?]]></Song>
            <album><![CDATA[<?= $result['artist']?>]]></album>
        </track>
    <?
}
?>
</trackList>
</playlist>     

只需更改您的数据库名称,用户和密码,然后您将拥有您的xml。但是,您可能希望将上面的专辑行更改为: