Ver Mensaje Individual
  #7 (permalink)  
Antiguo 16/05/2013, 20:32
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: duda con function

al final lo conseguí

Código PHP:

function get_mlm_listing() {
    
    
    global 
$wpdb;
    global 
$current_user;
    if (isset(
$_GET["current_user_id"]) && !empty($_GET["current_user_id"]))
    {
        
$current_user_id = $_GET["current_user_id"];
    }
    else 
    {
        
$current_user_id = $current_user->ID;
    }
    
    
    
$users = $wpdb->get_results($wpdb->prepare("SELECT * FROM mlm WHERE parent_user_id = %d", $current_user_id));
    
    
    if (
$users == null && $current_user->ID == $current_user_id)
    {
        echo 
"<br />";
        echo 
"No tienes miembros en tu red";
        
//echo "You don't have any members below you yet, here is your referral link: \r
        /*<a href=" . get_bloginfo("url"). "/" . $current_user->ID . ">" . get_bloginfo("url") . '' . "/" . $current_user->ID . "</a><br />";
         */
    
}
    else 
    {
                
        function 
dependientes($nivel) {
            
            global 
$wpdb;
            
            
// Iniciamos la creación de la lista
            
$lista = '<ul style="border:#000 solid thin; margin-left:30px;">';
            
            
// Obtenemos los datos los dependientes del nivel solicitado
            
            
$users = $wpdb->get_results($wpdb->prepare("SELECT * FROM mlm WHERE parent_user_id = %d", $nivel));
            
//$sql = sprintf("SELECT id, nombre, jefe FROM funcionario WHERE jefe = %s", $nivel);
            

            
            //$q = mysql_query($sql);
            
            // Para cada dependiente del nivel solicitado...
            
global $contadorArray;
            
            
$contadorArray = 0;
            
            
//while ($r = count($usersA))  {
            
foreach ($users as $obj){
            
                
$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();
                
                
                
// Abrimos el nodo con el nombre del primer dependiente
                
$lista .= '<li style="border:#0f0 solid thin;">' . $user_nicename;
                
                
// Utilizaremos esta variable para ver si seguimos consultado la BDD
                
$tiene_dependientes = null;
                
//$sql = sprintf("SELECT COUNT(jefe) FROM funcionario WHERE jefe = %s", $r['jefe']);
                //Corregido
                
                
$user_count = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM mlm WHERE parent_user_id = %d", $obj->user_id));
                
//$sql = sprintf("SELECT COUNT(jefe) FROM funcionario WHERE jefe = %s", $r['id']);
                
$tiene_dependientes = $user_count;
                
                
// Si tiene dependientes, ejecutamos recursivamente
                // tomando como parámetro el nuevo nivel
                
if ($tiene_dependientes) {
                    
// Eliminado: $lista .= get_categories($r['jefe']);
                    //$lista .= dependientes($r['jefe']);
                    //Corregido
                    
$lista .= dependientes($obj->user_id);
                }
                
                
// Cerramos el nodo
                
$lista .= '</li>';
                
$contadorArray++;
            }
            
                        
            
// Cerramos la lista
            
$lista .= '</ul>';
            return 
$lista;
            
    
        }
        
        echo 
dependientes($current_user_id);
        echo  
"<br><br>el total de tu lista es " .$contadorArray; 
        
        
    }
} 

pero el $contadorArray me devuelve 0 y me tendría que devolver el total de nodos... y ya no se como sacarlo :(