IFNULL sprawdza czy masz pusty rekord, ale u Ciebie nie ma możliwości wystąpienia pustego rekordu.
Musiałbyś dodać kolejną tabelę, ale to wszystko trochę mija się z celem imo.
Sformatuj wynik w php i tak np.
*Chcesz wyświetlić 10 dni.
Tworzysz tablicę asoc. dla danych z bazy, tak aby:
$tablica[licznik][dzien] = 'ilosc odwiedzin';
Lub łączysz dzien, miesiac rok w jedno (CONCAT chyba) - i masz $tablica[licznik][dzienmiesiacrok]
Czyli 2gi nawias kwadratowy to [112011] albo [1]
W php tworzysz pętlę for - dla 10 dni, czyli dla 112011, 212011 ... 1012011
wiedząc, że zmieniają się tylko dni, to bym to zrobił tak:
$ilosc_dni = 10;
$tablica_wynikow = //(tablica asoc. z wyniku mysql - czyli np. $tablica_wynikow[0][112011] = '5'; $tablica_wynikow[1][112011] =ip.ip.ip.ipl //ilosc odwiedzin i ip);
for ($i=1; $dzien = $ilosc_dni; $i++) {
//pokazujemy rekord z dnia 1 czyli np.
if (empty($tablica_wynikow[0
][$i.'12011'])) echo 'zero odwiedzin<br />'; else echo $tabela_wynikow[1
][$i.'12011'].'<br />'; //pokaze nam ilosc odwiedzin;
/*
etc
a tu masz funkcję aby przypisac wynik do tablicy asoc.:
po polaczeniu przez np mysqli i po wykonaniu query
dajesz $wynik = create_array($data); i masz tablicę oczywiście $data to wynik działania query
function create_array($data)
{
$new_arrray = array();
for ($i=0; $row = $data->fetch_assoc(); $i++)
$new_array[$i] = $row;
return $new_array;
}
a jak pdo używasz (polecam) to możesz łatwo to zrobić tak:
$tablica = array();
for ($i=0; $row = $dane_zbazy->fetch(PDO::FETCH_ASSOC); $i++) $tablica[$i] = $row;
}
Chyba rozumiesz o co mi chodzi? Na szybko pisałem więc może być coś nie tak ;]