聪明地分配给数组

时间:2010-02-24 12:01:26

标签: php smarty

$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分配给title 任何想法?

2 个答案:

答案 0 :(得分: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)。

答案 1 :(得分:0)

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

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

所以你做$ group = $ tasks ['blog_title']它什么也没做,因为$ tasks只有一个键0,而不是'blog_title'。 $ group [0] ['blog_title']可以工作,但只需完全删除任务。