problemer med arrays og smarty
jeg sidder og bikser lidt med at lave en side der bruger arrays i php's smarty...problemet ligger i, at jeg gerne vil trække indholdet af array'en ud af min database - men jeg kan ikke helt finde ud af hvordan...
som det kan ses i filerne, kører jeg en while-løkke, som samler id'erne i en variabel, og derefter smider jeg variablen ind i array'en, i håber om at denne så ville bruge det som jeg havde håbet.
som eksempel, er der følgende id'er i databasen:
1
2
3
4
-efter løkken er kørt, er indholdet følgende:
(ved fx "echo $array_id;")
'1','2','3','4'
-det burde i teorien virke, således at når indsat her:
$smarty->assign('ids',array($array_id));
-ville det være det samme som at skrive:
$smarty->assign('ids',array('1','2','3','4'));
-men det er det ikke - hvorfor?
hvis jeg i php filen skriver:
1. $smarty->assign('ids',array($array_id));
eller
2. $smarty->assign('ids',array('1','2','3','4'));
får jeg følgende outputs:
1:
This is an ID from the database: '1','2','3','4'!
2:
This is an ID from the database: 1!
This is an ID from the database: 2!
This is an ID from the database: 3!
This is an ID from the database: 4!
-hvorfor vil den ikke bruge min variabel som input til array'en?
-her er mine filer:
################### index.tpl ###################
{* Smarty *}
{* include the color-config file here *}
{config_load file="colors.conf"}
{* include the header file here *}
{include file="header.tpl"}
{* outputting the array 'ids' *}
{foreach from=$ids item=id}
This is an ID from the database: {$id}!<br>
{/foreach}
{* include the footer file here *}
{include file="footer.tpl"}
################### index.tpl ###################
################### index.php ###################
<?
require('setup.php');
$smarty = new Spark_Page;
// start news loop
$c = "0";
$c_get_max = mysql_query("SELECT id FROM zabersoft_news");
$c_max = mysql_num_rows($c_get_max);
$select="SELECT * FROM zabersoft_news ORDER BY id DESC";
$query = @mysql_query($select);
while ($list = @mysql_fetch_object($query)) {
$id = $list->id;
$c++;
if ($c != $c_max) {
$array_id = $array_id."'".$id."', ";
}
elseif ($c == $c_max) {
$array_id = $array_id."'".$id."'";
}
}
// end news loop
$smarty->assign('ids',array($array_id));
$smarty->display('index.tpl');
?>
################### index.php ###################
håber virkeligt nogen kan hjælpe her...
