Witam! Tworzę wykres statystyk, przy użyciu Google Chart. Problem pojawił się, podczas pobierania rekordów z bazy z wykorzystaniem Smarty. Zmienne all i unique w szablonie otrzymują, jakby wartość z ostatniej pozycji pętli. Sprawdziłem podobny kod na samym php, bez Smarty i jest ok. Czy w Smarty potrzebuję np pętli w pętli, żeby zmienne all i unique miały prawidłowe wartości? Jak to rozwiązać? Za pomoc z góry dziękuję.
Działający kod php, bez Smarty:
<?php
$queryStats2 = mysql_query(' SELECT DISTINCT advertisingStatsDate FROM `advertising_stats` WHERE advertisingStatsAdvertisingId="2" ORDER by advertisingStatsDate ASC '); {
$all = mysql_num_rows(mysql_query('SELECT DISTINCT advertisingStatsId FROM `advertising_stats` WHERE advertisingStatsDate="'.$row2['advertisingStatsDate'].'" ')); $unique = mysql_num_rows(mysql_query('SELECT DISTINCT advertisingStatsIP FROM `advertising_stats` WHERE advertisingStatsDate="'.$row2['advertisingStatsDate'].'" '));
echo "['".$row2['advertisingStatsDate']."', $all, $unique], "; }
?>
Kod php z wykorzystaniem Smarty:
<?php
$queryStats2 = mysql_query(' SELECT DISTINCT advertisingStatsDate FROM `advertising_stats` WHERE advertisingStatsAdvertisingId="'.$number.'" ORDER by advertisingStatsDate ASC '); {
$stats2[] = $row2;
$all = mysql_num_rows(mysql_query('SELECT DISTINCT advertisingStatsId FROM `advertising_stats` WHERE advertisingStatsDate="'.$row2['advertisingStatsDate'].'" ')); $unique = mysql_num_rows(mysql_query('SELECT DISTINCT advertisingStatsIP FROM `advertising_stats` WHERE advertisingStatsDate="'.$row2['advertisingStatsDate'].'" '));
$smarty -> assign('all', $all);
$smarty -> assign('unique', $unique);
}
$smarty -> assign('stats2', $stats2);
?>
Wycinek z szablonu:
{section name="row2" loop="$stats2"}
['{$stats2[row2].advertisingStatsDate}', {$all}, {$unique}],
{/section}