2010-05-26 3 views
0

привет, у меня есть вопрос и нужна помощь в этом от вас, ребята.PHP-код для возврата xml

У меня есть база данных, созданная для игры под названием gamesleaderboard, а поля - id, player_name, score, leveltime. и моя задача после получения оценки, я должен вставить ее в базу данных и сортировать dbase соответственно. после сортировки, код возвращает XML в следующей структуре:

Ahmad100080 Basel95090 Samer920100 Seyd900110 Ahmad100080 Basel95090 Samer920100 Seyd900110 Ahmad100080 Basel95090

плз скажите мне необходимые детали как это сделать, спасибо.

ответ

2

В большинстве упрощенно нет ничего особенного делать здесь, вы можете выводить XML точно так же, как вы бы выход HTML в PHP, this is a simple example

Вы можете также использовать DOMDocument класс (или SimpleXML) в выход XML, это немного сложнее, но лучше. Пример создания XML с DOMDocument с использованием данных из MySQL read more here

+0

Согласен. Если вы можете сортировать его в массив, вы можете «распечатать» XML-документ, просто перейдя через массив. – Joseph

0

Не забудьте отправить правильный заголовок Content-Type перед выдачей XML-документа tho.

0

Если вы новичок в XML, я бы очень рекомендовал SimpleXML, так как этого будет достаточно для большинства потребностей. Создание XML с использованием «эха» и строк - это не только мелодичный, но и очень плохой способ программирования.

Использование SimpleXML позволяет легко добавлять новые узлы, добавляя к ним дочерние узлы и атрибуты. Если вы можете начать читать документы PHP, просто найдите учебник SimpleXML в Google. Или задайте свои вопросы прямо здесь.

0
$query=mysql_query("Select * from gamesleaderboard "); 

$number=mysql_num_rows($query); 

if ($query==0) 
{ 
echo "0 rows Affected"; 

} 

$doc= new DOMDocument(); 
$doc->formatOutput=true; 

$root= $doc->createElement("Games"); 
$doc->appendChild($root); 

for ($i=0; $i<$number; $i++){ 

    $row=mysql_fetch_array($qex); 

    $node=$doc->createElement("user"); 
    $pn=$doc->createElement("player_name"); 
    $pn->appendChild($doc->createTextNode($row["player_name"])); 
    $node->appendChild($pn); 

    $sc=$doc->createElement("score"); 
    $sc->appendChild($doc->createTextNode($row["score"])); 
    $node->appendChild($sc); 

    $root->appendChild($node); 
} 


echo $doc->saveXML(); 

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

Смежные вопросы