2010-02-24 3 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

0

Вы создаете двухмерный массив, который не должен быть там. Задачи выглядеть так:

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

Таким образом, вы делаете $ группу = $ задачи [ «blog_title»] он ничего не делает, потому что $ задачи имеет только клавишу 0, а не «blog_title». $ group [0] ['blog_title'] будет работать, но просто удалит назначение задач вообще.

Смежные вопросы