В чем причина?
index.php
<?php
include("functions/mysql.php");
connect("localhost","cms","cms","cms");
whilesql("SELECT * FROM `project` ORDER BY `id` DESC");
?>
functions/mysql.php
<?php
function connect($host,$user,$password,$table)
{
$mysql_C = mysql_connect($host,$user,$password);
mysql_select_db($table,$mysql_C);
}
function whilesql($sql)
{
$mysql_Q = mysql_query($sql);
while($mysql = mysql_fetch_array($mysql_Q))
{
$name = $mysql['name'];
$miniinfo = $mysql['miniinfo'];
$biginfo = $mysql['biginfo'];
$date = $mysql['date'];
$save = $mysql['save'];
$tpl = file_get_contents("template/project.tpl");
str_replace('{NAME}',$name,$tpl);
str_replace('{MINIINFO}',$miniinfo,$tpl);
str_replace('{BIGINFO}',$biginfo,$tpl);
str_replace('{DATE}',$date,$tpl);
str_replace('{SAVE}',$save,$tpl);
}
}
?>
template/project.tpl
<div>
<p><b>{NAME}</b></p>
<p><i>{MINIINFO}</i></p>
<p><u>{BIGINFO}</u></p>
<p><s>{SAVE} {DATE}</s></p>
</div>
Спустя 1 минута, 28 секунд (3.01.2012 - 22:24) Winston написал(а):
! |
Winston |
Спустя 24 секунды (3.01.2012 - 22:24) mid написал(а):
Ошибок не выдает,но и данные не выводит!
В файле functions/mysql.php в функции while косяк мне кажется!
В файле functions/mysql.php в функции while косяк мне кажется!
Спустя 1 минута, 7 секунд (3.01.2012 - 22:25) Winston написал(а):
Ты из ф-и должен вернуть с помощью return те данные, с которыми ты произвел какие-то манипуляции.
Спустя 2 минуты, 4 секунды (3.01.2012 - 22:28) Winston написал(а):
Свернутый текст
function whilesql($sql)
{
$mysql_Q = mysql_query($sql);
$data = '';
$tpl = file_get_contents("template/project.tpl");
while($mysql = mysql_fetch_array($mysql_Q))
{
$name = $mysql['name'];
$miniinfo = $mysql['miniinfo'];
$biginfo = $mysql['biginfo'];
$date = $mysql['date'];
$save = $mysql['save'];
$data .= str_replace('{NAME}',$name,$tpl);
$data .= str_replace('{MINIINFO}',$miniinfo,$tpl);
$data .= str_replace('{BIGINFO}',$biginfo,$tpl);
$data .= str_replace('{DATE}',$date,$tpl);
$data .= str_replace('{SAVE}',$save,$tpl);
}
return $data;
}
Вызов
echo whilesql("SELECT * FROM `project` ORDER BY `id` DESC");
Спустя 1 минута, 52 секунды (3.01.2012 - 22:29) sharki написал(а):
Winston
не, у тебя ошибка У тебя будет множественное дублирование шаблона)
не, у тебя ошибка У тебя будет множественное дублирование шаблона)
Спустя 1 минута, 49 секунд (3.01.2012 - 22:31) mid написал(а):
sharki
Так дублирование и нужно!Тут шаблон не всего сайта а канкрето для while!
Так дублирование и нужно!Тут шаблон не всего сайта а канкрето для while!
Спустя 2 минуты, 12 секунд (3.01.2012 - 22:33) sharki написал(а):
mid
По моему тут каждая итерация будет увеличивать текст в 5 раз
По моему тут каждая итерация будет увеличивать текст в 5 раз
Спустя 2 минуты, 39 секунд (3.01.2012 - 22:36) mid написал(а):
Рабит,но криво..Прикол в том,то что он расстягивает пункты..Например в первом выводе только {NAME} заменит на переменную,в следущем только {MINIINFO} и тд..Херня какая-то..
Спустя 40 секунд (3.01.2012 - 22:37) Winston написал(а):
Цитата (sharki @ 3.01.2012 - 21:29) |
У тебя будет множественное дублирование шаблона) |
Хм.. кажется ты прав...
Спустя 59 секунд (3.01.2012 - 22:38) mid написал(а):
У меня уже было однажды такое..В принципе я знаю как это решить..Сейчас сделаю и кину код!
Спустя 6 минут, 39 секунд (3.01.2012 - 22:44) sharki написал(а):
Вот можешь взять на заметку мою функцию
function parse_tpl($txt,$arr_replace) {
$replace_txt = array(); // массив с указатаелями на замену
$insert_txt = array(); // массив для замены указателей
foreach ($arr_replace as $key => $value) {
$replace_txt[] = $key;
$insert_txt[] = $value;
}
return str_replace($replace_txt, $insert_txt, $txt);
}
function whilesql($sql)
{
$mysql_Q = mysql_query($sql);
$data = '';
$tpl = file_get_contents("template/project.tpl");
while($mysql = mysql_fetch_array($mysql_Q))
{
$name = $mysql['name'];
$miniinfo = $mysql['miniinfo'];
$biginfo = $mysql['biginfo'];
$date = $mysql['date'];
$save = $mysql['save'];
$data .= parse_tpl($tpl,array(
'{MINIINFO}'=>$miniinfo,
'{BIGINFO}' =>$biginfo,
'{DATE}' => $date,
'{SAVE}' => $save
));
}
return $data;
}
Спустя 1 минута, 17 секунд (3.01.2012 - 22:46) mid написал(а):
function whilesql($sql){
$mysql_Q = mysql_query($sql);
while($mysql = mysql_fetch_array($mysql_Q))
{
$name = $mysql['name'];
$miniinfo = $mysql['miniinfo'];
$biginfo = $mysql['biginfo'];
$save = $mysql['save'];
$date = $mysql['date'];
$tpl_name = file_get_contents("template/project/name.tpl");
$while .= str_replace('{NAME}',$name,$tpl_name);
$tpl_miniinfo = file_get_contents("template/project/miniinfo.tpl");
$while .= str_replace('{MINIINFO}',$miniinfo,$tpl_miniinfo);
$tpl_biginfo = file_get_contents("template/project/biginfo.tpl");
$while .= str_replace('{BIGINFO}',$biginfo,$tpl_biginfo);
$tpl_save = file_get_contents("template/project/save.tpl");
$while .= str_replace('{SAVE}',$save,$tpl_save);
$tpl_date = file_get_contents("template/project/date.tpl");
$while .= str_replace('{DATE}',$date,$tpl_date);
}
return $while;
}
_____________
По любому вопросу : programmer-php@mail.ru