tuman11
Новичок
Проблема при использовании Smarty
У меня есть работающая страница кода на PHP:
Решил для вывода таблицы сделать шаблон с использованием Smarty. Преобразовал код страницы:
Файл шаблона name.tpl:
<HTML>
<TR>
<TD>{$name}</TD>
<TD>{$kol}</TD>
<TD>{$kor}</TD>
<TD>
<form name="web" method="post" action="#Add">
<input type=text name="korz" width=6 value="0">
<input type="hidden" name="num" value={$num}>
<input type="hidden" name="kol" value={$kol}>
<input type="hidden" name="oldkorz" value={$kor}>
<input type=submit name="A1" value={$func}>
</form>
</TD>
</TR>
</HTML>
Страница работает, но при выводе таблицы перед ее верхней рамкой и внутри последнего столбца (с формой) появляются черные ромбики со знаком вопроса. Не могу понять причины их появления и как от них избавиться.
У меня есть работающая страница кода на PHP:
PHP:
<?php
// Подключение к серверу.
$conn = mysql_connect("localhost", "root", "") or die(mysql_error());
.................................................................
.................................................................
// Выводим результат как HTML - таблицу
echo "<TABLE border = 4 width = 80%>";
echo "<a name=\"Add\"></a>";
$i = 0;
if(isset($_POST[korz]))
{
$korz = $_POST[korz];
$oldkorz = $_POST[oldkorz];
$korz += $oldkorz;
$num = $_POST[num];
$kol = $_POST[kol];
if($korz > $kol) // Ограничение.
$korz = $kol;
$rr = db_query("UPDATE dr6_lekar SET Kor=$korz where(Num = $num) LIMIT 1;");
}
// Вызываем db_fetch_array в цикле while.
while($row = db_fetch_array($r, MYSQL_ASSOC))
{
//
++$i;
echo "<TR>";
echo "<TD>$row[Name]</TD>";
echo "<TD>$row[Kol]</TD>";
echo "<TD>$row[Kor]</TD>";
echo "<TD>
<form name="web" method="post" action="#Add">
<input type=text name="korz" width=6 value="0">
<input type="hidden" name="num" value=$row[Num]>
<input type="hidden" name="kol" value=$row[Kol]>
<input type="hidden" name="oldkorz" value=$row[Kor]>
<input type=submit name="A1" value="Добавить">
</form>
</TD>";
echo "</TR>";
}
// Таблица dr6_lekar выведена.
echo "</TABLE>";
// Закрываем соединение.
mysql_close($conn);
?>
PHP:
<?php
define('SMARTY_DIR', './Smarty-2.6.26/libs/' );
require_once(SMARTY_DIR . 'Smarty.class.php');
$smarty = new Smarty();
// Подключаем шаблон
$smarty->template_dir = './Smarty-2.6.26/' . 'templates/';
$smarty->compile_dir = './Smarty-2.6.26/' . 'Compile/';
$smarty->cache_dir = './Smarty-2.6.26/' . 'Cache/';
$smarty->caching = false;
$smarty->config_dir = './Smarty-2.6.26/' . 'Configs/';
$smarty->compile_check = TRUE;
$smarty->error_reporting = E_ALL; // LEAVE E_ALL DURING DEVELOPMENT
$smarty->debugging = true;
//$smarty->debug_tpl = SMARTY_DIR .'debug.tpl';
.......................................................................
.......................................................................
// Выводим результат как HTML - таблицу
echo "<TABLE border = 4 width = 80%>";
echo "<a name=\"Add\"></a>";
$i = 0;
if(isset($_POST[korz]) && $_POST[korz] != 0)
{
$korz = $_POST[korz];
$oldkorz = $_POST[oldkorz];
$korz += $oldkorz;
$num = $_POST[num];
$kol = $_POST[kol];
if($korz > $kol) // Ограничение.
$korz = $kol;
$rr = db_query("UPDATE dr6_l SET Kor=$korz where(Num = $num) LIMIT 1;");
$r = db_query("select * from dr6_l");
}
// Вызываем db_fetch_array в цикле while.
while($row = db_fetch_array($r, MYSQL_ASSOC))
{
//
++$i;
$smarty->assign("name", $row[Name]);
$smarty->assign("kol", $row[Kol]);
$smarty->assign("kor", $row[Kor]);
$smarty->assign("num", $row[Num]);
$smarty->assign("func","Добавить");
$smarty->display("name.tpl");
}
// Таблица выведена.
echo "</TABLE>";
<HTML>
<TR>
<TD>{$name}</TD>
<TD>{$kol}</TD>
<TD>{$kor}</TD>
<TD>
<form name="web" method="post" action="#Add">
<input type=text name="korz" width=6 value="0">
<input type="hidden" name="num" value={$num}>
<input type="hidden" name="kol" value={$kol}>
<input type="hidden" name="oldkorz" value={$kor}>
<input type=submit name="A1" value={$func}>
</form>
</TD>
</TR>
</HTML>
Страница работает, но при выводе таблицы перед ее верхней рамкой и внутри последнего столбца (с формой) появляются черные ромбики со знаком вопроса. Не могу понять причины их появления и как от них избавиться.