умный присвоить массиву - PullRequest
       12

умный присвоить массиву

0 голосов
/ 24 февраля 2010
$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 заголовку есть идеи?

Ответы [ 2 ]

3 голосов
/ 24 февраля 2010

Вам не нужно $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 голосов
/ 24 февраля 2010

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

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

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

...