次のコードを実行します。
$getytclicks = mysqli_query($mysqli, "SELECT * FROM links WHERE type='youtube'");
$clicks=array();
while($r = mysqli_fetch_array($getytclicks))
{
if($r['month'] == $month && $r['year'] == date("Y"))
{
foreach($days as $day)
{
if($r['day'] . " " . $month == $day && $r['year'] == date("Y"))
{
$clicks[$day] .= mysqli_num_rows(mysqli_query($mysqli, "SELECT * FROM links WHERE day='".$r['day']."' AND month='".$r['month']."' AND year='".$r['year']."'"));
} else {
$clicks[$day] .= 0;
}
}
}
}
var_dump($clicks);
そして、これは何
var_dump
ですショー:
array (size=31)
'01 Май' => string '0000000000' (length=10)
'02 Май' => string '0000000000' (length=10)
'03 Май' => string '0000000000' (length=10)
'04 Май' => string '0000000000' (length=10)
'05 Май' => string '0000000000' (length=10)
'06 Май' => string '0000000000' (length=10)
'07 Май' => string '0000000000' (length=10)
'08 Май' => string '0000000000' (length=10)
'09 Май' => string '0000000000' (length=10)
'10 Май' => string '0000000000' (length=10)
'11 Май' => string '0000000000' (length=10)
'12 Май' => string '0000000000' (length=10)
'13 Май' => string '0000000000' (length=10)
'14 Май' => string '0000000000' (length=10)
'15 Май' => string '0000000000' (length=10)
'16 Май' => string '0000000000' (length=10)
'17 Май' => string '0000000000' (length=10)
'18 Май' => string '0000000000' (length=10)
'19 Май' => string '0000000000' (length=10)
'20 Май' => string '1000000000' (length=10)
'21 Май' => string '0000000000' (length=10)
'22 Май' => string '0333000000' (length=10)
'23 Май' => string '0000100000' (length=10)
'24 Май' => string '0000044440' (length=10)
'25 Май' => string '0000000001' (length=10)
'26 Май' => string '0000000000' (length=10)
'27 Май' => string '0000000000' (length=10)
'28 Май' => string '0000000000' (length=10)
'29 Май' => string '0000000000' (length=10)
'30 Май' => string '0000000000' (length=10)
'31 Май' => string '0000000000' (length=10)
なぜゼロが多すぎるのですか?
ゼロでなければなりません。さらに、値が
1
の場合
、
3
、
4
および
1
、ゼロで表示するのではなく、表示するだけです。
私は
$clicks['day'] .=
から変更しようとしました
$clicks['day'] =
へしかし、それは最後の結果、
1
のみを表示します
25th May
の
。
回答 2 件
データを連結しているため、これらの超過値が発生しています。
これを変える:
if($r['day'] . " " . $month == $day && $r['year'] == date("Y")) { $clicks[$day] .= mysqli_num_rows(mysqli_query($mysqli, "SELECT * FROM links WHERE day='".$r['day']."' AND month='".$r['month']."' AND year='".$r['year']."'")); } else { $clicks[$day] .= 0; }
これに:
if($r['day'] . " " . $month == $day && $r['year'] == date("Y")) { $clicks[$day] = mysqli_num_rows(mysqli_query($mysqli, "SELECT * FROM links WHERE day='".$r['day']."' AND month='".$r['month']."' AND year='".$r['year']."'")); } else { $clicks[$day] = 0; }
関連記事
- v-forは、一意のキーを使用しているにもかかわらず、配列スプライスを使用すると間違った要素を削除します
- JavaのRESTテンプレートを介して転送中にバイト配列が文字列になる理由
- アセンブリに配列を追加しながら、配列の最小値を見つける
- 2D配列の作成中に、どこでメモリを解放しますか? valgrindエラー
- FOREACHを使用してjson-arrayの最小値を取得するにはどうすればよいですか?
- ユーザーがRubyon Rails 6で間違った入力をしているときに、文字列を0に変換しないようにするにはどうすればよいですか?
- 要素を追加しながら配列内のすべての要素をループする最も効率的な方法
- BlazorWebassemblyがUIに間違った時間を表示する
- map()はアイテムのレンダリングで機能しますが、forEach()はReactNativeでは機能しません
- レール上の配列rubyに追加すると間違った出力が得られる
0を
$clicks[$day] .= 0;
として追加しています 。 $clicks [$day] = 0;として試してみると思います。毎回追加するだけではありません。