2010-02-24 46 views
0
$result = mysql_query("SELECT blog_title,body FROM blog WHERE post_id='$id' LIMIT 1") or die (mysql_error()); 

while ($line = mysql_fetch_assoc($result)){ 
$tasks[] = $line; 
$group = $tasks['blog_title']; 
$smarty->assign('view', $tasks); 
$smarty->assign('group', $group); 
//here the error.i want to assign blog_title to title 
$smarty->assign('title', "Blog - $group"); 

新手,需要帮助。我想分配blog_title到标题 任何想法?smarty分配到阵列

回答

3

你不需要$tasks。由于您正在使用[],此变量会混淆您的脚本。 [] =就像使用array创建一个数组并将array_push应用于它一样。

这里就是你想达到什么:

$result = mysql_query("SELECT blog_title,body FROM blog WHERE post_id='$id' LIMIT 1") or die (mysql_error()); 

while ($line = mysql_fetch_assoc($result)){ 
    $group = $line['blog_title']; 
    $smarty->assign('view', $line); 
    $smarty->assign('group', $group); 
    $smarty->assign('title', "Blog - $group"); 
} 

顺便说一句:在第一行($result =...),确保$id是合适的逃逸(见mysql_real_escape)。

+0

thx middus.works喜欢的魅力 – ruru 2010-02-24 12:37:38

0

您创建了一个不应该存在的2维数组。任务看起来像现在这样:

<?php 
tasks = array(
     0 => array(
     'blog_title' => 'something' 
     'body' => 'something else' 
    ) 
    ) 
?> 

所以,你做$组= $任务[“BLOG_TITLE”]它什么也不做,因为$任务只有一个键0,而不是“BLOG_TITLE”。 $ group [0] ['blog_title']会起作用,但完全删除任务分配。