вот собственно весь код(использовал echo для проверки...):
function view_category()
{
$limit = 6;
$qnewproduct = "SELECT name,price FROM shop_items order by date DESC limit $limit";
$result = $this->db->query($qnewproduct);
$row = $result->num_rows;
$newproduct = $result->result_array();
$i=0;
echo '<table>';
foreach($newproduct as $new)
{
if($i!=1)
{
echo '<tr>';
echo '<td>'.$new['name'].'</td>';
$i++;
}
else
{
echo '<td>'.$new['name'].'</td>';
echo '</tr>';
$i=0;
}
}
echo '</table>';
}
при выполнении всё выводится поверх шаблона...т.е. как мне всё что вижу с echo увидеть с return?
извиняюсь заранее за такой вопрос...и прошу не ругаться,а помочь
Спустя 2 минуты, 57 секунд (26.11.2011 - 00:23) TranceIT написал(а):
Переменной или массиву присвоить вывод, потом переменную\массив вернуть из функции и вывести результат ее работы.
Спустя 21 час, 56 минут, 24 секунды (26.11.2011 - 22:20) Jokeryuga написал(а):
Цитата (TranceIT @ 25.11.2011 - 21:23) |
Переменной или массиву присвоить вывод, потом переменную\массив вернуть из функции и вывести результат ее работы. |
а как эо правильно сделать???пробую вот так:
$perem="
echo '<table>';
foreach($newproduct as $new)
{
if($i!=1)
{
echo '<tr>';
echo '<td>'.$new['name'].'</td>';
$i++;
}
else
{
echo '<td>'.$new['name'].'</td>';
echo '</tr>';
$i=0;
}
}
echo '</table>';";
return $perem;
выводит ошибку
syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in D:\xampp\htdocs\pyrocms\addons\shared_addons\plugins\new_item.php on line 42
Спустя 4 минуты, 23 секунды (26.11.2011 - 22:24) TMake написал(а):
ob_start();
view_category();
$result = ob_get_contents();
Спустя 7 минут (26.11.2011 - 22:31) Jokeryuga написал(а):
Цитата (stepan @ 26.11.2011 - 19:24) |
ob_start(); |
извините пожалуйста,но немогли бы Вы расшифровать...а то с этим туговато...
Спустя 11 минут, 31 секунда (26.11.2011 - 22:43) TMake написал(а):
Jokeryuga почитай мануал для чего нужен ob_start(); ob_get_contents();
во вторых посмотри на подсветку на свою здесь тебе в переменную нужно загонять только html, а ты зафигачил все туда
p.s. вообще посмотри как реализуются другие готовые продукты - т.е. шаблон должен быть шаблоном.
во вторых посмотри на подсветку на свою здесь тебе в переменную нужно загонять только html, а ты зафигачил все туда
p.s. вообще посмотри как реализуются другие готовые продукты - т.е. шаблон должен быть шаблоном.
Спустя 20 минут, 43 секунды (26.11.2011 - 23:03) Jokeryuga написал(а):
Цитата (stepan @ 26.11.2011 - 19:43) |
Jokeryuga почитай мануал для чего нужен ob_start(); ob_get_contents(); во вторых посмотри на подсветку на свою здесь тебе в переменную нужно загонять только html, а ты зафигачил все туда p.s. вообще посмотри как реализуются другие готовые продукты - т.е. шаблон должен быть шаблоном. |
просто буквально понял совет,шедший перед Вашим...я пробовал загонять в переменную только html, но там же ещё и php присутствует...как потом это всё выводить???(функции которые посоветовали очень интересные,но для такого сайта как у меня это наверно будет очень сложно).может всё таки как то можно это всё запихнуть в return???(опять же как Вы говорите загнать в переменную html и как то захватить ещё и php...)помогите пожалуйста.
Спустя 11 минут, 45 секунд (26.11.2011 - 23:15) TMake написал(а):
function view_category()
{
$limit = 6;
$qnewproduct = "SELECT name,price FROM shop_items order by date DESC limit $limit";
$result = $this->db->query($qnewproduct);
$row = $result->num_rows;
$newproduct = $result->result_array();
$i=0;
$result = '<table>';
foreach($newproduct as $new)
{
if($i!=1)
{
$result .= '<tr>';
$result .= '<td>'.$new['name'].'</td>';
$i++;
}
else
{
$result .= '<td>'.$new['name'].'</td>';
$result .= '</tr>';
$i=0;
}
}
return $result.'</table>';
}
Вариант 2:
function view_category()
{
$limit = 6;
$qnewproduct = "SELECT name,price FROM shop_items order by date DESC limit $limit";
$result = $this->db->query($qnewproduct);
$row = $result->num_rows;
$newproduct = $result->result_array();
$i=0;
echo '<table>';
foreach($newproduct as $new)
{
if($i!=1)
{
echo '<tr>';
echo '<td>'.$new['name'].'</td>';
$i++;
}
else
{
echo '<td>'.$new['name'].'</td>';
echo '</tr>';
$i=0;
}
}
echo '</table>';
}
function qwe()
{
ob_start();
view_category();
return ob_get_contents();
}
Спустя 34 минуты, 1 секунда (26.11.2011 - 23:49) hookman написал(а):
stepan, зачем во втором варианте в foreach четыре echo? Считается дурным тоном. Всё в строку а после цикла echo
Спустя 3 часа, 48 минут, 48 секунд (27.11.2011 - 03:38) vital написал(а):
2stepan
Ты бы человеку лучше про шаблонизатор рассказал - он в цмс-то точно есть,
а ты ему говнокод плодить помогаешь.
Ты бы человеку лучше про шаблонизатор рассказал - он в цмс-то точно есть,
а ты ему говнокод плодить помогаешь.
Спустя 17 часов, 36 минут, 35 секунд (27.11.2011 - 21:15) Jokeryuga написал(а):
Цитата (stepan @ 26.11.2011 - 20:15) |
function view_category() Вариант 2: function view_category() |
огромное спасибо!!!всё как надо)))