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: 22 años, 1 mes
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