Сейчас хочу сделать вывод допустим новостей, статей, как угодно.
Но чего-то застопорился. Если в метод передавать значение например title, и метод будет иметь вид:
function show_title($type){
$query = $this->mysqli->query("SELECT * FROM article");
while($row = $query->fetch_assoc()){
printf ($row[$type]."<br/>");
}
}
то естественно выведутся все заголовки.
Но нужно еще описание, автор, дата...
И это не получится вывести, если создать новые методы, получится так:
title
title
title
описание
описание
описание
автор,дата
авотр,дата
автор,дата
А мне нужно:
title
описание
авотр,дата
ну или наоборот
авотр,дата
title
описание
так вот, в принципе я знаю как это сделать, в одной функции просто задать порядок, а можно как-то иначе?
вызывая например
$obj->news(title);
$obj->news(description)
$obj->news(author)
в таком духе?
Если обсуждался вопрос пните туда куда надо, я просто не знаю как бы на такое поискать...
Спустя 2 часа, 58 минут, 35 секунд (21.08.2011 - 09:29) VolDroN написал(а):
можно так
а потом уже выводить, $this->news[1]['title'] и.т.п.
public $news;
while($row = $query->fetch_assoc())
{
$i = 1;
$this->news[$i] = $row;
$i++;
}
а потом уже выводить, $this->news[1]['title'] и.т.п.
Спустя 2 часа, 17 минут, 49 секунд (21.08.2011 - 11:47) бриклор написал(а):
VolDroN
сейчас чегот не в состоянии переварить, но я подумаю над вашим предложением и обязательно попробую!
сейчас чегот не в состоянии переварить, но я подумаю над вашим предложением и обязательно попробую!
Спустя 1 час, 1 минута, 13 секунд (21.08.2011 - 12:48) бриклор написал(а):
я наверное понял что так сделать нельзя как я хочу.
я хотел чтобы можно было редактировать стили в одном файле и не лезть в классы и функции. Но вывод из БД многих записей будет по любому в цикле, значит и выводить придется все в нем.
И мне хотелось регулировать, что выводить, например я хочу на странице видеть описание, заголовок, и автора.
я указываю это при вызове эти поля и они выводятся. но так по логике сделать нельзя... ну да ладно)
я хотел чтобы можно было редактировать стили в одном файле и не лезть в классы и функции. Но вывод из БД многих записей будет по любому в цикле, значит и выводить придется все в нем.
И мне хотелось регулировать, что выводить, например я хочу на странице видеть описание, заголовок, и автора.
я указываю это при вызове эти поля и они выводятся. но так по логике сделать нельзя... ну да ладно)
Спустя 1 минута, 39 секунд (21.08.2011 - 12:50) AlexWindHope написал(а):
та идея которую вы себе придумали не имеет смысла :)
просто вытягиваете все что вам нужно в запросе т.е.
а в коде уже потом обработать результат запроса примерно так как писал VolDroN
Правда я например пишу не так :)
То что вы хотите видеть управляется Вашим SQL заропосом :)
Если все красиво инкапсулировать в класе аля Crud - то потом пишите примерно так:
Вот примерно както так
PS:если чето не понятно можешь писать в скайп alexwindhope
просто вытягиваете все что вам нужно в запросе т.е.
SELECT something,something,something FROM table
а в коде уже потом обработать результат запроса примерно так как писал VolDroN
Правда я например пишу не так :)
public $news = array();
while($row = $query->fetch_assoc()) {
//Зачем тут $i лично я не понимаю
$this->news[] = $row;
}
То что вы хотите видеть управляется Вашим SQL заропосом :)
Если все красиво инкапсулировать в класе аля Crud - то потом пишите примерно так:
//Класс News наследует Crud
$news = new News();
$data = $news->get_assoc($news->select(array('author', 'title','desc')));
Вот примерно както так
PS:если чето не понятно можешь писать в скайп alexwindhope
Спустя 33 минуты, 13 секунд (21.08.2011 - 13:23) VolDroN написал(а):
AlexWindHope да, i лишнее (:
Спустя 4 часа, 15 минут, 13 секунд (21.08.2011 - 17:38) бриклор написал(а):
AlexWindHope
да да да да, именно так я и хотел, ну вот я просто не дошел до sql запроса, а так я и хотел массивом передавать. Ставлю + в репутацию!
Спустя 3 часа, 52 минуты, 57 секунд (21.08.2011 - 21:31) бриклор написал(а):
Еще раз всем здравствуйте.
В общем я сделал то что хотел. Осталось узнать где можно проще сделать, где красивее где как...
Суть была такова:
Нужно было на странице index.php вывести все новости, и чтобы никуда не лазая можно было поменять местами вывод: Заголовка, Описания, Текста, Автора, Даты.
я сделал это так:
на странице index.php прописал:
через массив задается порядок. А затем обработал все это в методе:
В общем я сделал то что хотел. Осталось узнать где можно проще сделать, где красивее где как...
Суть была такова:
Нужно было на странице index.php вывести все новости, и чтобы никуда не лазая можно было поменять местами вывод: Заголовка, Описания, Текста, Автора, Даты.
я сделал это так:
на странице index.php прописал:
<div id="container"><? $obj ->show_news((array('title','text','author')));?></div>
через массив задается порядок. А затем обработал все это в методе:
function show_news($arr){
$count = count($arr);
for($i=1; $i<$count; $i++){
$b = $arr['0'];
$a .= ','.$arr[$i];
$z = $b.$a;
}
$query = $this->mysqli->query("SELECT $z FROM article");
$a=0;
while($row = $query->fetch_array()){
for($i=0; $i<count($arr); $i++){
if($arr[$i] == 'title'){
echo'<h1>'.$row[$i].'</h1>';
}else
if($arr[$i] == 'text'){
echo'<div id="description">'.$row[$i].'</div>';
}else
if($arr[$i] == 'description'){
echo'<div id="description">'.$row[$i].'</div>';
}else
if($arr[$i] == 'author' && $arr[$i+1] == 'date'){
echo "<div id='author'>Автор: <a href=''>".$row[$i].'</a> Дата: '.$row[$i+1];
}else
if($arr[$i] == 'author'){
echo "<div id='author'>Автор: <a href=''>".$row[$i].'</a>';
}
else
if($arr[$i] == 'date'){
echo "<div id='author'>".$row['date']."</div>";
}
}
}
}