有人能幫我嗎。我正在嘗試創建一個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