簡體   English   中英

PHP,MySQL統計

[英]PHP, MySQL statistics

我有一個帶有統計表的MySQL數據庫。 我想在年度日歷中每月輸出數據。 在幾個月沒有點擊的情況下,我想花費一個“空”的DIV。 有兩個ID。

$query = mysqli_query($db,"SELECT `id`, MONTH(`date`) AS `month`, COUNT(*) AS `quant`
FROM `statistic` WHERE YEAR(`date`) = '2014' && `k_id` = '12345' group by `id`, `month`");

while($xyz = mysqli_fetch_object($query)) {
if($old != $xyz->id) {
if($old=='') {
    echo '<div class="statistic“>‘.“\n“;
}
else {
    echo '</div>'."\n";
    echo '<div class="statistic“>‘.“\n“;
}
$old = $xyz->id;
}
echo '<div class="'.$ausgabe->month.’“>’.$xyz-> quant.'</div>'."\n";
}

我的結果:

<div class="statistic">
<div class="6">11</div>
<div class="7">6</div>
<div class="8">20</div>
</div>
<div class="statistic">
<div class="7">1</div>
<div class="8">8</div>
</div>

我想要的是:

<div class="statistic">
<div class="1">0</div>
<div class="2">0</div>
<div class="3">0</div>
<div class="4">0</div>
<div class="5">0</div>
<div class="6">11</div>
<div class="7">6</div>
<div class="8">20</div>
<div class="9">0</div>
<div class="10">0</div>
<div class="11">0</div>
<div class="12">0</div>
</div>

<div class="statistic">
<div class="1">0</div>
<div class="2">0</div>
<div class="3">0</div>
<div class="4">0</div>
<div class="5">0</div>
<div class="6">0</div>
<div class="7">1</div>
<div class="8">8</div>
<div class="9">0</div>
<div class="10">0</div>
<div class="11">0</div>
<div class="12">0</div>
</div>

謝謝!

我會將您的代碼更改為以下代碼,因為您會提前知道要顯示多少個月。

$statArr = array();
while($xyz = mysqli_fetch_object($query)) {
    $statArr[(int)$xyz->month] = $xyz->quant;
}

for ($i = 1; $i <= 12; $i++) {
    echo '<div class="' . $i . '">' . (isset($statArr[$i]) ? $statArr[$i] : 0) . '</div>'
}

一些注意事項。 首先,以數字開頭的類不是有效的CSS類名。 其次,如果您不熟悉簡寫的if-else語句,則將其稱為三元運算。 如果$statArr具有索引,請使用它。 否則輸出零。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM