Ver Mensaje Individual
  #11 (permalink)  
Antiguo 22/05/2013, 13:02
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

la verdad que este tema me esta volviendo loco

no me funciona y ha probado de todo todo

Código PHP:
$totalRegistos 0;
        
        echo 
'<div id="sidetreecontrol"><a href="?#">Colapsar todo</a> | <a href="?#">Expandir tdo</a></div>';
        echo 
"<div id='mlm_members'> \n";    
        echo 
dependientes($current_user_id$ulclassDependiente$current_user_id$ulID);
        echo 
"</div><!-- fin #mlm_members --> ";
        echo  
"<br><br>el total de tu lista es " $totalRegistos// muestra 8; 
Código PHP:
function dependientes($nivel$ulclassDependiente$current_user_id$ulID ) {
                    
                    global 
$wpdb;
                    global 
$ulID;
                    global 
$totalRegistos;
                    
                    
                    
                    
// 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> ';
                    
//$lista .= 'El total de la lista es '.sizeof($users);
                    
$totalRegistos $totalRegistos +1;
                    
//$lista .= $totalRegistos;
                    
return $lista;    
                } 

ya se que para incrementar $totalRegistros lo podría hacer así ++$totalRegistros pero he probado la suma normal por que no me funciona

cuando lo muestro en el navegador me sale 1

ya no se que más tocar ni a quien mas implorar