[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: мысли в слух
qpayct
есть БД - статистика. размышляя о том, как лучше классифицировать данные пришел к мнению, что при загрузке БД в переменные класса надо создать обьект на каждое загруженное из БД число. Тоесть допустим каждый обьект должен иметь 15 методов, которые создаються для того, чтобы удобно манипулировать данными для последующего создания наглядных таблиц на странице сайта.

Вопрос:
1. как лучше загрузить данные из БД для последующего внесения их в ячейки таблицы?
а. использовать публичные переменные класса(ассоциативные массивы).
б. использовать методы(функции класса).



Спустя 1 час, 33 минуты (16.12.2009 - 21:57) sergeiss написал(а):
Для ответа на вопросы надо сначала до конца понять задачу.

В настоящее время ты что-то придумал, и предлагаешь догадаться, что же именно (какие данные, какая структура таблиц и т.д.) smile.gif И на основании догадок ответить на вопросы согласно твоей логики (о которой тоже надо догадаться).

Давай с самого начала. Что за статистика, какую структуру таблиц ты хочешь сделать, какие взаимосвязи между ними. Какая БД, в конце концов. Ну, и т.д. и т.п.

Спустя 50 минут, 4 секунды (16.12.2009 - 22:47) qpayct написал(а):
вообще это статистика игр. классифицирую результаты в таблицы.
допустим тот то результат на том то месте столько то раз и вывожу % соотн. к 100%.
у каждого результата есть методы:
n.a - сколько раз встречается в статистике
n.b - сколько раз встречается в актуальных строках(со статусом 1)
n.c - % соотн. в статистике
n.d - % соотн. в актуальных строках(со статусом 1)
и т.д и т.п...

структура БД следующая:
n0,n1,n2,n3.....
все они подгружаются в класс в один двумерный массив $n[][]. тобишь для последующего перебора использую вот такую структуру:
foreach ($n as $i =>$aval) {
foreach ($m[$aval] as $j =>$bval) {
// ну и тут все замуты....
}
}

только вопрос то совсем в другом... smile.gif как выгружать эти данные на станицу? вот так?
class cls {
public $n;
function opendb {
$q=mysql(DBNAME,"SELECT * FROM tbldb");
$z=mysql_num_rows($q);
if ($z>0) {
$f=mysql_fetch_array($q);
$this->n[0]=$f[n0];
$this->n[1]=$f[n1];
$this->n[2]=$f[n2];
$this->n[3]=$f[n3];
}
}
}

<?
$cls=new cls;
?>
<table>
<
tr>
<
td><?=$cls->n[n1][0]?></td>
</
tr>
</
table>

или так
class cls {
private $n;
function opendb {
$q=mysql(DBNAME,"SELECT * FROM tbldb");
$z=mysql_num_rows($q);
if ($z>0) {
$f=mysql_fetch_array($q);
$this->n[0]=$f[n0];
$this->n[1]=$f[n1];
$this->n[2]=$f[n2];
$this->n[3]=$f[n3];
}
}


function getn($i, $n) {
return $this->n[$i][$n];
}
}

<?
$cls=new cls;
?>
<table>
<
tr>
<
td><?=$cls->getn("n1",0)?></td>
</
tr>
</
table>

я в посте всё описал.... smile.gif

Спустя 1 час, 12 минут, 2 секунды (16.12.2009 - 23:59) VolCh написал(а):
В принципе второй вариант более "трушный". Например, позже можно будет прозрачно (ничего больше не меняя) сделать, что данные считываются из базы только те, которые нужны, и только тогда, когда они нужны. А не считывать всю таблицу в память не зная понадобятся ли все данные из неё.

Спустя 3 часа, 48 минут, 58 секунд (17.12.2009 - 03:48) qpayct написал(а):
Ну на то и расчёт. Таблица то с годами будет расти... Только это опять же не то. По идее более экономично использовать публичные переменные класса, а потом ансетить весь класс, чем создавать на каждую переменную функцию(метод) и потом ансетить. Кто-то тут может обьяснить какой подход правильно использовать в моём случае?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.