Datumsübergabe an Smarty
René Landgrafe
- php
Halli hallo Ihr Forumsuser =),
ich hänge momentan an folgendem Problem:
Es soll eine Auswahlliste geben, in der man das das Jahr in "YYYY" auswählen kann. Und zwar alle zwischen und inklusive dem jetzigen Datum und 2001, wobei das aktuellste Datum ganz oben stehen soll.
In der PHP Datei sieht das ganze wie folgt aus:
<snip>
$now = getdate();
$now_year = $now['year'];
$start_year = "2001";
for ($i = 0; $now_year >= $start_year; $now_year--) {
$i++;
$count[$i] = $now_year;
print $count[$i]; // Zeigt nur an, ob er die Daten auch richtig ausgibt.
}
//$smarty->assign("date_year", ???);
</snip>
Sooo wie bekomme ich Smarty dazu, mir diese einzelnen Jahre in eine Auswahlliste zu packen, damit ich sie bei der späteren Datenbankabfrage wieder verwenden kann?
Um eines vorweg zunehmen: Smarty wurde bereits vorher in das Script eingebunden und andere Sachen funktionieren damit auch =)
Mir fehlt nur irgendwie der Ansatz, wie ich das umsetzen kann, und da es relativ schnell gehen muss, kann ich mich nicht darauf verlassen, dass mein "blackout" mal aussetzt.
Danke schonmal
René Landgrafe
Hallo Renè,
//$smarty->assign("date_year", ???);
$smarty->assign ('date_years', $count);
$smarty->assign ('date_year', $now['year']); // $now_year hast Du ja schon in der Schleife verbraten
In Smarty:
<select name="year">
{html_options values=$date_years output=$date_years selected=$date_year}
</select>
Christian
Hallo Renè,
//$smarty->assign("date_year", ???);
$smarty->assign ('date_years', $count);
$smarty->assign ('date_year', $now['year']); // $now_year hast Du ja schon in der Schleife verbratenIn Smarty:
<select name="year">
{html_options values=$date_years output=$date_years selected=$date_year}
</select>Christian
Hallo Christian,
danke für deine Hilfe, ich werds zur Verständnis nocheinmal _so_ probieren.
cya
René Landgrafe
<snip>
$now = getdate();
$now_year = $now['year'];
$start_year = "2001";for ($i = 0; $now_year >= $start_year; $now_year--) {
$i++;
$count[$i] = $now_year;
print $count[$i]; // Zeigt nur an, ob er die Daten auch richtig ausgibt.
}
//$smarty->assign("date_year", ???);
</snip>Sooo wie bekomme ich Smarty dazu, mir diese einzelnen Jahre in eine Auswahlliste zu packen, damit ich sie bei der späteren Datenbankabfrage wieder verwenden kann?
Ahhh habs schon =(. Wiedermal an der falschen Stelle gesucht...
Wie dem auch sei. Es geht so:
*.php
<snip>
$now = getdate();
$now_year = $now['year'];
$start_year = "2001";
for ($i = 0; $now_year >= $start_year; $now_year--) {
$i++;
$count[$i] = $now_year;
print $count[$i]; // Zeigt nur an, ob er die Daten auch richtig ausgibt.
}
//$smarty->assign("date_year", $count);
</snip>
OK bis dahin wars nicht schwer, aber ich wusste noch nicht, wie ich das Template dazu bringe, diese Daten richtig auszugeben.
*.tpl
<snip>
<select name="year">
<!--{if $year != "" && $year != "alle"}-->
<option><!--{$year}--></option>
<option value="">-</option>
<!--{/if}-->
<option>alle</option>
<!--{foreach from=$years item=counts}-->
<option><!--{$counts}--></option>
<!--{/foreach}-->
</select>
</snip>
bis denn
René Landgrafe