誰かが私を助けてくれますか?私はすべてのイベントを日付順に並べたXMLリストを作成しようとしています。私はPHPスクリプトを使ってこれをやっています。はSQL文を理解できません
$sql = "SELECT DATE_FORMAT(K.kalender_datum,'%W %d %M %Y') as afhaaldag, A.afval_naam
FROM tblkalender K
INNER JOIN tblafval A
ON A.pk_afval_Id = K.fk_afval_Id
WHERE kalender_datum > CURDATE()
ORDER BY K.kalender_datum";
$query = mysql_query($sql);
$last_date = "";
$tag_open = false;
$xml = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
$xml .= "<kalender>\n";
for($i = 0; $i<mysql_num_rows($query); $i++)
{
$itemrow = mysql_fetch_assoc($query);
if($last_date != $itemrow['kalender_datum'])
{
//als de laatste datum die gebruikt is niet gelijk is aan de datum die hij binnen krijgt, moet hij een nieuwe afhaaldag beginnen
if($tag_open)
{
$xml .= "\t</afhaaldag>\n";
$tag_open = false;
}
$xml .= "\t<afhaaldag>\n";
$xml .= "\t<datum>" . $itemrow['kalender_datum'] . "</datum>\n";
$xml .= "\t<afval>" . $itemrow['afval_naam'] . "</afval>\n";
$last_date = $itemrow['kalender_datum'];
}
else
{
$xml .= "\t<afval>" . $itemrow['afval_naam'] . "</afval>\n";
$last_date = $itemrow['kalender_datum'];
$tag_open = true;
}
}
$xml .= "</kalender>";
echo $xml;
私にXMLでこの出力を与えること:今、私はこれ持って
<kalender>
<afval>Grofvuil</afval>
<afval>Restafval</afval>
<afval>GFT</afval>
<afval>PMD</afval>
<afval>Snoeiresten</afval>
<afval>GFT</afval>
<afval>Restafval</afval>
<afval>GFT</afval>
<afval>PMD</afval>
<afval>GFT</afval>
<afval>Snoeiresten</afval>
<afval>Papier en karton</afval>
<afval>Grofvuil</afval>
<afval>Restafval</afval>
<afval>GFT</afval>
<afval>PMD</afval>
</kalender>
をしかし、私に必要なのはこれです:
<kalender>
<afhaaldag>
<datum>2012-01-02</datum>
<afval>GFT</afval>
<afval>Restafval</afval>
<afval>PMD</afval>
</afhaaldag>
<afhaaldag>
<datum>2012-01-17</datum>
<afval>Papier en karton</afval>
</afhaaldag>
<afhaaldag>
<datum>2012-01-23</datum>
<afval>GFT</afval>
</afhaaldag>
</kalender>
誰かが、私はそれを行うことができる方法を知っています。私はある種のループが必要であることを知っている(私はforループを推測している)。誰かが私にこれを手伝ってもらえますか?
明日は試してみます(私はFilezillaにいくつかの問題があり、サーバーに接続できません)。ありがとう! –
私はついにそれをテストすることができましたが、何が間違っているのか分かりません。あなたが私に与えたコードは、タグが閉じられていないというエラーを出しました。私はそれを修正することができましたが、それは最善のことではありません。私は今、この取得しています: 粗 Restafval GFT PMD 剪定残基を Restafval PMD GFT 剪定残基 紙やダンボールの あなたは私の新しいコードを見ることができるように、粗 私は私のオリジナルのポストを編集します。 –
私の編集した解答を実行コードで見てください。デバッグのためにさらにエコーを挿入してみてください。 – Jaxedin