0

なぜこれが私に地獄を与えているのかわかりません-しかし、私はそれが簡単な修正であると確信しています、私はただ見ていません..?

今後の7つのイベントロゴを表示する私のクエリ。

[LOGO] [LOGO] [LOGO] [LOGO] [LOGO] [LOGO] [LOGO]

$query_Recordset3 = "SELECT id, event_type, event_type_2, event_name,
event_logo,event_date  FROM event_calendar WHERE review_live = 1 AND
event_logo > '0' AND event_date >= CURDATE() ORDER BY event_date ASC
LIMIT 7";

私の小さな問題:ロゴのないイベントがある場合..したがって、7ではなく1つまたは2つだけが表示されます。

ロゴ付きのイベントが2つある場合、現在はどうなっていますか。

[ロゴ][ロゴ][x][x] [x] [x] [x]

残りの「ロゴ画像」のデフォルトを表示する方法を考え出そうとしています

見た目

[LOGO][LOGO][デフォルト][デフォルト][デフォルト][デフォルト][デフォルト]

私の質問は正しくありませんか、それとも私はただ凝った「dowhile」をする必要がありますか?

私の忍者に感謝します!他にdowhileやクエリの質問がある場合は申し訳ありません。探していたものが正確に見つかりませんでした:-)

4

2 に答える 2

2

このようなもの:

$logocount = 7;
while(/*fetch mysql result here*/) {
    //output a logo
    $logocount--;
}
echo str_repeat("Default logo here",$logocount);
于 2012-12-11T14:52:23.087 に答える
2

取得した行数を数えて、7つのロゴができるまで埋めるだけです

<?php
$query_Recordset3 = "SELECT id, event_type, event_type_2, event_name,
event_logo,event_date  FROM event_calendar WHERE review_live = 1 AND
event_logo > '0' AND event_date >= CURDATE() ORDER BY event_date ASC
LIMIT 7";

$result = $mysqli->query($query_Recordset3) or die(mysqli_error());
for ($i = 0; $row = $result->fetch_row(); $i++) {
    // process row, show logo
}

for (; $i < 7; $i++) {
    // show default
}
于 2012-12-11T14:54:21.003 に答える