用户表
在注册时,每个用户都必须把 parent_id ,谁注册在 parent_id 下,所以我为它制作了不同的表
赞助商表
之后像那样做树
我想计算这样的记录
所以请指导我如何计算这样的记录,或者我有什么方法可以说这种计数我必须在数据库中更改,提前谢谢
我在表中有邻接模型结构,所以我得到了很好的解决方案 count user_id under parent_id
该函数在 parent_id 下计算 user_id
function display_children($parent, $level) {
$count = 0;
$result = mysql_query('SELECT user_id FROM sponsers '.'WHERE parent_id="'.$parent.'"');
while ($row = mysql_fetch_array($result))
{
$var = str_repeat(' ',$level).$row['user_id']."\n";
//echo $var after remove comment check tree
// i call function in while loop until count all user_id
$count += 1 +$this->display_children($row['user_id'], $level+1);
}
return $count; // it will return all user_id count under parent_id
}
调用函数
display_children(999, 0)
我猜你正在搜索这个http://www.sitepoint.com/hierarchical-data-database-2/。
它被称为TREE TRAVERSAL
。好吧,在您的情况下,您可以将其仅用于计数。
可以在此处找到有关该主题的更多信息树数据结构
对于分层数据存储,您可以看到Nested Set Model
. 详细参见http://en.wikipedia.org/wiki/Nested_set_model。希望它能完美地满足您的目的。