while{ while{}} ループがある場合、MYSQL データベースのすべてのデータが表示されないことに気付きました...
これがPHPです(これは動作するコードです...)
<?php
$conn = mysql_connect("localhost","xfiddlec_user","public");
mysql_select_db("xfiddlec_max");
mysql_set_charset("UTF8", $conn);
?>
<script>
$(function()
{
var icons =
{
header: "ui-icon-circle-arrow-e",
activeHeader: "ui-icon-circle-arrow-s"
};
$( "#dam" ).accordion({
icons: icons,
heightStyle: "content",
collapsible: true
});
});
</script>
<?php
$construct ="SELECT * FROM Noutati";
$constructaug ="SELECT * from Noutati WHERE MONTH(DataIntroducere) = 8 AND YEAR(DataIntroducere) = YEAR(CURDATE())";
$run = mysql_query($construct) or die(mysql_error());
$runaug = mysql_query($constructaug) or die(mysql_error());
$foundnum = mysql_num_rows($run);
$foundnumaug = mysql_num_rows($runaug);
if ($foundnum==0)
{
echo "Nu avem noutăți!";
}
else
{
echo"<div id='dam'>";
while($runrows = mysql_fetch_assoc($runaug) )
{
echo"
<h3>August 2013</h3>
<div><br>";
while($runrows = mysql_fetch_assoc($runaug))
{
$Luna = $runrows ['Luna'];
$Ziua = $runrows ['Ziua'];
$Mesaj = $runrows ['Mesaj'];
echo "
<table class='noutatitabel'>
<tr>
<td class='faramargini'>
<div class='data'>
<div class='luna'>$Luna</div>
<div class='ziua'>$Ziua</div>
</div>
</td>
<td class='albastru'>$Mesaj
</td>
</tr>
</table><br>";
}
echo"
<br><hr><br></div>";
}
echo"</div>";
}
?>
データベースには 6 行が含まれています。
上記のコードを実行すると、アコーディオン メニューが表示されますが、そのデータベースの 2 行のみが表示され (特定の月 - 1 行目は表示されません)、問題がどこにあるのかわかりません。最初の while ループを削除すると、クエリは 3 行を表示します。私はこれのためのフィドルも持っており、ここで見つけることができます。
私は何か間違ったことをした?これに遭遇したことがありますか?どうすればこの問題を解決できますか?
ありがとうございました。