我有头衔,艺术家,姓名和人物。存储在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++;
}
?>
答案 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。但是,您可能希望将上面的专辑行更改为: