Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Как вывести данные из БД в smarty ?
Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011 Откуда: Челны
Помог: 0 раз(а)
код theory.php -->
$smarty = new Smarty ();//обьект smarty
$smarty->template_dir='tpl/templates/';//указываем путь к шаблонам
$smarty->compile_dir='tpl/templates_c/';
$smarty->config_dir='tpl/configs/';
$smarty->cache_dir='tpl/cache/';
$get = $_GET['pages'];
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("testing");
$result = mysql_query("SELECT * FROM `table` WHERE 'pages' = '$get'") or die (mysql_error());
$rows=array();
while ($row=mysql_fetch_array($result))
$rows[]=$row;
$smarty->assign('content', $rows);
$smarty->display("theory.tpl");
?>
код в theory.tpl
{$content[text]}
Помогите решить проблему пожалуйста.
Перепробывал все что можно, но данные именно из бд не выводит
DeepVarvar
Отправлено: 19 Февраля, 2011 - 10:04:02
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Строка $rows=array(); не нужна, убрать её нафик..
Кабан пишет:
$rows[]=$row;
На выходе будет массив вида $row[0]['fieldname'],
предполагаю что в типиэльке надо: {$content[0]['fieldname']}
Покинул форум
Сообщений всего: 823
Дата рег-ции: Нояб. 2010
Помог: 32 раз(а)
Гм. Что-то у Вас непонятное написано. Переменная $row - это массив строк, правильно? А в переменной $rows[0]['fieldname'] есть хоть что-то, чтобы ее записывать в $row? Та к тому же нужно писать не $row = , а $row[] =.
И в смарти массив нужно выводить через цикл.
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
Кабан
Отправлено: 19 Февраля, 2011 - 16:32:04
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011 Откуда: Челны
Помог: 0 раз(а)
Что я хотел сделать:
есть theory.php
в нем содержится $_GET['pages'];
далее идет подключение к бд
и вывод поля которой соответствует $_GET( т.е одну запись)
т.е если $_GET = matrix то выводить из БД запись, имя которой matrix
я проделал все это без смарти. Работало.
вот код
<?
header('Content-type: text/html ; charset=cp1251');
$get = $_GET['pages'];
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("testing");
$result = mysql_query("SELECT * FROM `table` WHERE pages = '$get'") or die (mysql_error());
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
Кабан
Отправлено: 19 Февраля, 2011 - 16:45:52
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011 Откуда: Челны
Помог: 0 раз(а)
Цитата:
А так:
скрипт:
PHP:
скопировать код в буфер обмена
<?
header('Content-type: text/html ; charset=cp1251');
$get = $_GET['pages'];
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("testing");
$result = mysql_query("SELECT * FROM `table` WHERE pages = '$get'") or die (mysql_error());
$row = mysql_fetch_array($result);
$smarty = new Smarty;
$smarty->assign("row",$row);
$smarty->display("index.tpl");
----- ____________________________________________________________________
Ну как то так, наверное. http://grefon[dot]com
Кабан
Отправлено: 19 Февраля, 2011 - 16:56:01
Новичок
Покинул форум
Сообщений всего: 8
Дата рег-ции: Февр. 2011 Откуда: Челны
Помог: 0 раз(а)
код
<?
define('SMARTY_DIR','smarty_library/');
require(SMARTY_DIR.'Smarty.class.php');
header('Content-type: text/html ; charset=cp1251');
$get = $_GET['pages'];
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("testing");
$result = mysql_query("SELECT * FROM `table` WHERE pages = '$get'") or die (mysql_error());
$row = mysql_fetch_array($result);
$smarty = new Smarty;
$smarty->template_dir='tpl/templates/';//указываем путь к шаблонам
$smarty->compile_dir='tpl/templates_c/';
$smarty->config_dir='tpl/configs/';
$smarty->cache_dir='tpl/cache/';
$smarty->assign("row",$row);
$smarty->display("theory.tpl");
?>
Fatal error: Smarty error: [in theory.tpl line 65]: syntax error: unrecognized tag: $row['text'] (Smarty_Compiler.class.php, line 446) in C:\Program Files\VertrigoServ\www\smarty_library\Smarty.class.php on line 1092 (Добавление)
Кабан пишет:
код
<?
define('SMARTY_DIR','smarty_library/');
require(SMARTY_DIR.'Smarty.class.php');
header('Content-type: text/html ; charset=cp1251');
$get = $_GET['pages'];
mysql_connect("localhost", "root", "") or
die("Could not connect: " . mysql_error());
mysql_select_db("testing");
$result = mysql_query("SELECT * FROM `table` WHERE pages = '$get'") or die (mysql_error());
$row = mysql_fetch_array($result);
$smarty = new Smarty;
$smarty->template_dir='tpl/templates/';//указываем путь к шаблонам
$smarty->compile_dir='tpl/templates_c/';
$smarty->config_dir='tpl/configs/';
$smarty->cache_dir='tpl/cache/';
$smarty->assign("row",$row);
$smarty->display("theory.tpl");
?>
Fatal error: Smarty error: [in theory.tpl line 65]: syntax error: unrecognized tag: $row['text'] (Smarty_Compiler.class.php, line 446) in C:\Program Files\VertrigoServ\www\smarty_library\Smarty.class.php on line 1092
в шаблоне было так {$row['text']}
сделал так {$row[text]}
но... ничего не выводит
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.