-
SuBbI
есть код,который выводит некоторые поля из бд
Код: Выделить всё
<?php
include ("db_config.php");
$result = mysql_query("SELECT * FROM monik",$db);
$myrow = mysql_fetch_array($result);
do {
printf ("<p><td class='pi'>%s:%s:%s</td></p>",$myrow['name'],$myrow['ip'],$myrow['port']);
} while($myrow = mysql_fetch_array($result));
?>
хочу сделать
1.подцепление шаблона страницы
2.присвоить значение некоторой переменной (не знаю как правильно сказать)
Код: Выделить всё
$template->assign_vars('name',$name['name'])
помогите собрать все в кучу и верно релизовать
-
Distructor
- Администратор
это кусок кода для чего (phpBB, vB или что-то свое)? какой шаблонизатор стоит?
-
SuBbI
это из своего=)
какой шаблонизатор стоит?
не понимаю о чем, хотелось бы сделать=)
-
Khvosticov Sergey
Знакомый мне код )))
1.Почему тема называется php-connect ?
2.Как сделать в шаблоне не знаю ... почитай в интернете ...
-- добавлено 24 фев 2010, 21:51 --
+ замени
printf функцией echo
будет так :
Так более маленький код !
-
SuBbI
Шаблонизатор совсем не то что мне нужно.
ради 2 строчек кода нет смысла его использовать
-
Distructor
- Администратор
SuBbI писал(а):ради 2 строчек кода нет смысла его использовать
2 строчки кода будут как-раз при его использовании
иначе либо писать свой собственный облегченный (при чем не факт, что более быстрый и гибкий) мини шаблонизатор,
либо по старинке писать весь php и html код сразу в исполняемом *.php файле
-
SuBbI
чет бред какой-то....если мне тупо надо выводить линк заполеный юзером
то мне обязательно нужен шаблонизатор???? если я тупо хочу этот линк вогнать под картинку и выводить до тех пор пока они не кончатся в бд,то мне тоэе нужен шаблонизатор?????
как сделать по старинке? ведь в php я не смагу сверстать таблицу для вывода
-
Distructor
- Администратор
SuBbI писал(а):как сделать по старинке? ведь в php я не смагу сверстать таблицу для вывода
я не про написание HTML на языке php.
Приведу пример:
Задача - вывести на странице таблицу с повторяющейся информацией.
Вариант 1 - "По старинке".
- файл page.php
Код: Выделить всё
<html>
<head>
<title>Пример страницы</title>
</head>
<body>
<?php
$users_array = array (
array('name'=> 'Вася', 'age'=>14 ),
array('name'=> 'Петя', 'age'=>16 ),
array('name'=> 'Коля', 'age'=>18 ),
);
?>
<table>
<tr> <td>Имя</td> <td>Возраст</td> </tr>
<?php foreach ($users_array as $user) { ?>
<tr> <td><?php echo $user['name']; ?></td> <td><?php echo $user['age']; ?></td> </tr>
<?php } ?>
</table>
</body>
</html>
Вариант 2 - С использованием шаблонизатора Smarty
- файл page.php
Код: Выделить всё
<?php
require_once('Smarty.class.php');
$smarty = new Smarty();
$users_array = array (
array('name'=> 'Вася', 'age'=>14 ),
array('name'=> 'Петя', 'age'=>16 ),
array('name'=> 'Коля', 'age'=>18 ),
);
$smarty->assign('users_arr', $users_array );
$smarty->display('page.tpl');
?>
файл /templates/page.html
Код: Выделить всё
<html>
<head>
<title>Пример страницы</title>
</head>
<body>
<table>
<tr> <td>Имя</td> <td>Возраст</td> </tr>
{foreach from=$users_arr item=user}
<tr> <td>{$user.name}</td> <td>{$user.age}</td> </tr>
{/foreach}
</table>
</body>
</html>
Таким образом использование шаблонизатора позволяет отделить верстку от кода, что особенно актуально для страниц имеющих сложную многоэлементную верстку.
Конечно если пишется сайт из "двух" страниц, не выполняющий сложных обработок данных и не имеющий сложной структуры верстки, то проще использовать первый вариант
-
SuBbI
Вариант 1 - "По старинке".
ну это пример для вывода 1 строчки , а как сделать чтобы данные заполнялись в столько строчек/столбцов,сколько есть в базе?
-
Distructor
- Администратор
SuBbI писал(а):ну это пример для вывода 1 строчки , а как сделать чтобы данные заполнялись в столько строчек/столбцов,сколько есть в базе?
неужели так сложно подумать самому? Вспомнить к примеру вложенные циклы и написать что-то вроде
Код: Выделить всё
<?php foreach ($users_array as $user) { ?>
<tr>
<?php foreach ($user as $value) { ?>
<td><?php echo $value; ?></td>
<?php } ?>
</tr>
<?php } ?>
или ты только готовое использовать можешь?
-
SuBbI
Код: Выделить всё
<!--Линк-->
<div class="Comment2">
<div class="Comment2SmoothTopLine"><div class="Comment2SmoothTopLeft"><div class="Comment2SmoothTopRight"> </div></div></div>
<div class="Comment2Content"><div class="Comment2ContentLeft"><div class="Comment2ContentRight">
123123
</div></div></div>
<div class="Comment2SmoothBottomLine"><div class="Comment2SmoothBottomLeft"><div class="Comment2SmoothBottomRight"> </div></div></div>
</div>
<!-- / линк -->
вот мой блок в котором на странице должна выводиться инфа! этих блоков должно быть столько,сколько инфы в базе.....
-
Distructor
- Администратор
Код: Выделить всё
<?php foreach ($blocks_array as $block) { ?>
<!--Линк-->
<div class="Comment2">
<div class="Comment2SmoothTopLine"><div class="Comment2SmoothTopLeft">
<div class="Comment2SmoothTopRight"> </div></div></div>
<div class="Comment2Content"><div class="Comment2ContentLeft"><div class="Comment2ContentRight">
<?php echo $block; ?>
</div></div></div>
<div class="Comment2SmoothBottomLine"><div class="Comment2SmoothBottomLeft">
<div class="Comment2SmoothBottomRight"> </div></div></div>
</div>
<!-- / линк -->
<?php } ?>
и в чем тут сложность-то?
-
SuBbI
ап темы=)
есть код который при офф выводит одну картинку,при он другую
Код: Выделить всё
<?php
$ip = "ip ";
$port = "port";
if (! $sock = @fsockopen($ip, $port, $num, $error, 3))
echo '<img src="images/smoothred/buttons/transfers.png" alt="" border="0" />';
else{
echo '<B>Имя хаба: <FONT COLOR=lime>Online</b></FONT>';
fclose($sock);
}
?>
вопрос,как в
$ip = "ip "; и
$port = "port"; вогнать автоматически данные из бд?
зы.
Код: Выделить всё
$names_array = array ( array('name'=> $myrow['name'] ),
array('ip' => $myrow['ip'] ),
array('port'=> $myrow['port'] ), );
-
Distructor
- Администратор
SuBbI писал(а):вопрос,как в $ip = "ip "; и $port = "port"; вогнать автоматически данные из бд?
вставить опрос сервера в цикл обработки данных полученных из БД
Тебе полгода назад уже накидали кучу ссылок на инфу по работе с MySQL из PHP. Неужели за это время знаний в этом вопросе так и не прибавилось..?