Ver Mensaje Individual
  #7 (permalink)  
Antiguo 22/05/2013, 10:03
Avatar de engonga
engonga
Usuario no validado
 
Fecha de Ingreso: marzo-2002
Ubicación: Buenos Aires
Mensajes: 1.300
Antigüedad: 24 años, 7 meses
Puntos: 8
Respuesta: contar items en una funcion recursiva

ok

ya esta entonces

esta es la funcion recursiva

Código PHP:
function dependientes($nivel, $ulclassDependiente, $current_user_id, $ulID ) {
                    
                    global 
$wpdb;
                    global 
$ulID;
                    
                    
// Para cada dependiente del nivel solicitado...
                    // Iniciamos la creación de la lista
                    
$lista = '<ul>';
                    
                    
// Obtenemos los datos los dependientes del nivel solicitado                        
                    
$users = $wpdb->get_results($wpdb->prepare("SELECT * FROM mlm WHERE parent_user_id = %d", $nivel));
                    
                    foreach (
$users as $obj){  // le digo que me muestre una i que va a ser el contador                            
                        
if($ulID == "tiene depedientes"){
                            
$user_email = "";
                            }else{
                            
$user_email = $wpdb->get_var($wpdb->prepare("SELECT user_email FROM " . $wpdb->prefix . "users WHERE ID = %d", $obj->user_id));
                        }
                        
                        
$user_nicename = $wpdb->get_var($wpdb->prepare("SELECT user_nicename FROM " . $wpdb->prefix . "users WHERE ID = %d", $obj->user_id));
                        
$user_profile = trim(str_replace(" ", "", strtolower($obj->login_id)));
                        
$url = site_url();
                        
                        
$wpmlm_contact = "<a href='" . $url . "/members/" . $user_nicename . "' target='_blank'>[Contacar con el usuario]</a>&nbsp;&nbsp; <b>".$user_email."</b> " . $ulID;
                        
                        
// Abrimos el nodo con el nombre del primer dependiente        
                        
$user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM mlm WHERE parent_user_id = %d", $obj->user_id));
                        
                        
$lista .= '<li> ';                            
                        
$lista .= "<b>" . $obj->login_id . " (" . $user_count . ")</b>&nbsp;&nbsp; " . $wpmlm_contact ;
                        
                        
// Utilizaremos esta variable para ver si seguimos consultado la BDD
                        
$tiene_dependientes = null;
                        
                        
$tiene_dependientes = $user_count;
                        
// Si tiene dependientes, ejecutamos recursivamente
                        // tomando como parámetro el nuevo nivel
                        
if ($tiene_dependientes) {
                            
$ulID = "tiene depedientes";
                            
$lista .= dependientes($obj->user_id, $ulclassDependiente, $current_user_id, $ulID);
                        } else{
                            
$ulID = "";
                        }                            
                        
// Cerramos el nodo
                        
$lista .= '</li> ';
                    }
                    
// Cerramos la lista
                    
$lista .= '</ul> ';
                    return 
$lista;    
                } 
y no se como sacar el total de nodos que me hace el foreach