Ver Mensaje Individual
  #2 (permalink)  
Antiguo 23/03/2010, 06:03
Vallu
 
Fecha de Ingreso: marzo-2010
Ubicación: Barcelona
Mensajes: 657
Antigüedad: 14 años, 1 mes
Puntos: 26
Respuesta: ¿ Como pasar la variable ?

A ver, 1º de todo decir que soy nuevo y que además explicadome no es que sea muy bueno, pero esto supongo que será mejor que nada

1º de todo decir que està en wordpress, así que algunas cosillas cambian, pero nada del otro mundo... creo.

Yo te popondria que utilizaras Javascript.

Mira, yo tengo una funcion que me devuelve una cadena de caracteres que será la paginación.

Código PHP:
function numero_pag_manage(){
    global 
$wpdb;
    
    
$n 0;
    
$recipients $wpdb->get_results("select * from " $wpdb->prefix "newsletter order by email");
    
    foreach(
$recipients as $r){
        
$n++;
    }
    
    
$numero $n/50;

    if((
$n 50)!=0){
        
$numero floor($numero) + 1;
    }else{
        
$numero floor($numero);
    }
    
$txt "";
    for(
$i=0;$i<$numero;$i++){
        
$txt $txt '&nbsp;<a href="javascript:void(limit_users(\''.($i+1).'\'))">' .($i+1). '</a>';
    }
    return 
$txt;

Como veras llamo a una función (limit_users($n)) que lo único que me hace és darme el rango de valores que yo deseo:

Código PHP:
function limit_users($num){
    global 
$wpdb;
    
    
$min = ($num-1)*50;
    
$max 50;
    
    
$recipients $wpdb->get_results("select * from " $wpdb->prefix "newsletter order by email LIMIT ".$min.",".$max."");
    return 
$recipients;

En mi ejemplo se mostraran valores de 50 en 50.


Ahora vamos a la pagina donde quieres que salga la paginacion.

Yo tengo puesto que para que se me muestre la lista de todos los usuarios en el campo de busqueda han de dejarlo vacio i hacer buscar. De ahi pillo una variable por post llamada a.

Código PHP:
if ($_POST['a'] == 'num')
{
    
$list limit_users(newsletter_request('email'));

Cita:
// esto es javascript
function limit_users(num){
document.getElementById("action").value = "num";
document.getElementById("numero").value = num;
document.getElementById("channel").submit();
}
Código PHP:
$num_pag numero_pag_manage();

echo 
'<table class="newsletter-results" border="1" cellspacing="5">';
echo 
'<tr><th colspan=5 align="center">'.$num_pag.'</th></tr>';
echo 
'<tr><th><a href="javascript:void(order_users_by_lang(\'email\'))">Email</a></th><th><a href="javascript:void(order_users_by_lang(\'name\'))">Name</a></th><th>' etc etc etc
con todo esto cuando el usuario clique a la paginacion, por ejemplo del 2, la funcion llamada serà javascript:void(limit_users('2');

Sé que me he explicado fatal y que lo más seguro es que no lo entiendas, porque hasta a mi me cuesta entenderme

Pero bueno, por lo menos si que te puedo decir que utilices Javascript para eso.

PD: espero que era eso lo que pedias...