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 :(