Revisa esto:
http://www.forosdelweb.com/f18/conve...8/#post4812476
Quieres verificar que un usuario tenga 7 patrocinados como máximo:
Código PHP:
Ver original// Usando la misma variable de ese ejemplo
// Cuántos patrocinados tiene el usuario 1?
echo (isset($members[1])) ?
count($members[1] : 0; // Resultado: 2
// Cuántos patrocinados tiene el usuario 2?
echo (isset($members[2])) ?
count($members[1] : 2; // Resultado: 4
// Verificar máximos
function recorrerPatrocinados($id, $nivel = 1) {
global $members;
if(isset($members[$id])) { if(count($members[$id]) > 7) { // No debería tener más de 7 patrocinados
die('Más patrocinados de los que debería'); }
$nivel ++;
if($nivel > 5) {
// Según entiendo, no debería haber llegado aquí... cierto?
}
foreach($members[$id] as $patrocinado) {
recorrerPatrocinados($patrocinado, $nivel);
}
}
}
// Obtener nivel de un usuario
function nivelUsuario($id) {
$global $members;
$nivel = 1;
$sponsor = $members['todos'][$id]['sponsor'];
while($sponsor > 0) {
$sponsor = $members['todos'][$sponsor]['sponsor'];
$nivel ++;
}
return nivel;
}
No me he enterado completamente de lo que necesitas, pero, a simple vista, esto parece ser una buena aproximación.