Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Paginación PHP con enlaces a DIV

Estas en el tema de Paginación PHP con enlaces a DIV en el foro de Jquery en Foros del Web. Buenas, es mi primer mensaje en el foro, he estado buscando por él y no encuentro nada que me sirva... Mi problema es que en ...
  #1 (permalink)  
Antiguo 25/04/2013, 10:55
 
Fecha de Ingreso: abril-2013
Ubicación: Valladolid
Mensajes: 6
Antigüedad: 11 años, 8 meses
Puntos: 0
Paginación PHP con enlaces a DIV

Buenas,

es mi primer mensaje en el foro, he estado buscando por él y no encuentro nada que me sirva...

Mi problema es que en mi sitio web tengo que realizar una paginación de resultados (de MYSQL) y quiero que me muestre los numeros de página y que al pinchar sobre cualquiera de esos números solo me recargue en un DIV específico la pagina pulsada.

La paginación me la hace correctamente y los enlaces a siguiente >> o anterior << también funcionan correctamente. No funcionan los enlaces de los números de página.
Copio el codigo a ver si así se entiende mejor..

- Html donde se muestran los enlaces:

Código HTML:
<?php	if($p>0){
	?>
		<a id="antE" href="#"><<</a>
        
	<?php }
	$posi=0;
	$links = array();
	while($posi<=$tp)
	{	
		if($posi==$p){?>
    			<a id="iraE" class="current" href="#"><?php echo $posi?></a>
	<?php }
		else{?>
			<a id="iraE" href="#"><?php echo $posi?></a>
	<?php }
	$posi++;	
	}
	if($p<$tp-1){
	?>   
    <a id="sigE" href="#">>></a>
    <?php } ?> 

- Script donde se ejecutan los enlaces:


Código:
<script type="text/javascript" src="jquery-1.9.1.min.js"></script>
<script type="text/javascript">
	
        $(document).ready(function() {

			$('#antE').click(function(){
				$("#indexcontenido").load('mostrarentrega.php?id=<?php echo $id?>&p=<?php echo $p-1?>&rp='+ $('#forE').val()); 
            })
			$('#sigE').click(function(){
				$("#indexcontenido").load('mostrarentrega.php?id=<?php echo $id?>&p=<?php echo $p+1?>&rp='+ $('#forE').val()); 
            })
			$('#iraE').click(function(){
				$("#indexcontenido").load('mostrarentrega.php?id=<?php echo $id?>&p=<?php echo $p?>&rp='+ $('#forE').val()); 
            });
        });
		
	</script>
antE y sigE me los enlaza correctamente pero iraE no lo consigo...
Si copio la ruta a la página directamente en el href se me abre bien pero me abre mostrarentrega.php en pagina completa y solo quiero que se abra en el DIV indexcontenido...

Llevo bastantes días dando vueltas a esto y no lo consigo, estaría muy agradecido de cualquier ayuda.

Saludos!!
  #2 (permalink)  
Antiguo 01/05/2013, 09:53
 
Fecha de Ingreso: abril-2013
Ubicación: Valladolid
Mensajes: 6
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Paginación PHP con enlaces a DIV

Sigo sin conseguirlo, a nadie se le ocurre lo que puede estar pasando?
  #3 (permalink)  
Antiguo 01/05/2013, 10:20
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Paginación PHP con enlaces a DIV

¿Podrías poner el HTML/Javascript que te genera el PHP?

Viendo el PHP me parece que estás generando varios enlaces con un mismo ID (iraE), lo que explicaría que estos enlaces no funcionen bien, los IDs deben ser únicos.
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #4 (permalink)  
Antiguo 01/05/2013, 16:02
 
Fecha de Ingreso: abril-2013
Ubicación: Valladolid
Mensajes: 6
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Paginación PHP con enlaces a DIV

Muchas gracias por la respuesta. Tienes razón todos los IDs son el mismo IraE, he probado a poner a los IDs la variable y al pasar el firebug por la pagina me aparecen los diferentes identificadores IraE0, IraE1, IraE2, IraE3....


Código PHP:
<?php    if($p>0){
    
?>
        <a id="antE" href="#"><<</a>
    <?php }
    
$posi=0;
    while(
$posi<=$tp)
    {    
        if(
$posi==$p){?>
                <a id="iraE<?php echo $posi?>" class="current" href="#"><?php echo $posi?></a>
        <?php    }
        else{
        
?>
            <a id="iraE<?php echo $posi?>" href="#"><?php echo $posi?></a>
    <?php }
    
$posi++;    
    }
    if(
$p<$tp-1){
    
?>   
    <a id="sigE" href="#">>></a>
    <?php ?>
La duda ahora es cómo puedo hacer que en script.php me lo enlace bien ya que poniendo lo siguiente no va (algo estaré haciendo mal)

Código:
$('#iraE<?php echo $posi?>').click(function(){
				$("#indexcontenido").load('mostrarentrega.php?id=<?php echo $id?>&p=2&rp='+ $('#forE').val()); 
            });
  #5 (permalink)  
Antiguo 02/05/2013, 01:33
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Paginación PHP con enlaces a DIV

Veo que pones $('#forE').val() pero no veo el elemento 'forE'

Prueba a ejectuar directamente la url, mostrarentrega.php?id=<?php echo $id?>&p=2&rp='+ $('#forE').val(), a ver que devuelve.
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #6 (permalink)  
Antiguo 02/05/2013, 08:26
 
Fecha de Ingreso: abril-2013
Ubicación: Valladolid
Mensajes: 6
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Paginación PHP con enlaces a DIV

Solucionado!!
Para conseguirlo he tenido que asignar diferentes IDs a cada uno de los enlaces, esto lo hago añadiendo una variable al final del nombre, también he utilizado el elemento onClick para pasar el valor pulsado. El código queda:
Código PHP:
<?php
echo"Página ";?>
<?php    
if($p>0){
    
?>
        <a id="antE" href="#"><<</a>
    <?php }
    
$posi=0;
    while(
$posi<=$tp)
    {    
        if(
$posi==$p){
             echo
'<a id="irE'.$posi.'" class="current" href="#" onclick="p1='.$posi.'"> '.$posi.'</a>';
            }
        else{
        
            echo
'<a id="irE'.$posi.'" href="#" onclick="p1='.$posi.'"> '.$posi.'</a>';
     }
    
$posi++;    
    }
    if(
$p<$tp-1){
    
?>   
    <a id="sigE" href="#">>></a>
    <?php ?>
Luego en el script para conseguir actualizar solo un DIV he tenido que hacer un bucle tantas veces como enlaces irEx se han creado, de este modo ya tendré en el script todos los $('#irE'+x).click(function(){..} necesarios.
El código del script queda así:
Código:
var tp=document.getElementById("tp").value; //Recogemos el numero de paginas enviado
			for(var x=0;x<=tp;x++)
			{
				$('#irE'+x).click(function(){
					$("#indexcontenido").load('mostrarentrega.php?id=<?php echo $id?>&p='+p1+'&rp='+ $('#forE').val()); 
            	});
			}
tp es una variable que he mandado mediante un campo input para poder saber en el script cuantos enlaces tengo
Código HTML:
<input type="hidden" value="<?php echo $tp ?>" id="tp" /> 
Muchas gracias a angelAparicio por su colaboración!
  #7 (permalink)  
Antiguo 03/05/2013, 03:12
 
Fecha de Ingreso: abril-2013
Ubicación: Valladolid
Mensajes: 6
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Paginación PHP con enlaces a DIV

Ahora me he encontrado con otro problema, al probar esto en Firefoz y Chrome va perfectamente. El problema le tengo con Internet Explorer, he conseguido hacer que coja bien 'tp' pero el depurador me da un error SCRIPT5009: 'p1' no está definido. No se como hacer para que funcione bien en todos los navegadores...

Este es el script q tengo ahora

Código:
var y=document.getElementsByName("tp");
			if(tp.value)
			{
				for(var x=0;x<=tp.value;x++)
				{
					$('#irE'+x).click(function(){
						$("#indexcontenido").load('mostrarentrega.php?id=<?php echo $id?>&p='+p1+'&orden=<?php echo $orden?>&rp='+ $('#forE').val()); 
            		});
				}
			}
  #8 (permalink)  
Antiguo 03/05/2013, 05:42
Avatar de angelAparicio  
Fecha de Ingreso: julio-2009
Ubicación: Sevilla
Mensajes: 307
Antigüedad: 15 años, 5 meses
Puntos: 22
Respuesta: Paginación PHP con enlaces a DIV

Internet Explorer necesita que definas las variables usando "var". Si la primera vez que usas p1 pones:

p1 = 1;

Funcionará en Chrome y Firefox, pero no en Internet Explorer. Para que funcione en los tres, debes poner:

var p1 = 1;

En tu caso no veo donde usas p1 por primera vez, pero prueba a ponerle el var delante. Así debería funcionarte en IE.
__________________
Mis webs:
- Programador Web Autónomo
- Conciertos en Sevilla
  #9 (permalink)  
Antiguo 03/05/2013, 06:45
 
Fecha de Ingreso: abril-2013
Ubicación: Valladolid
Mensajes: 6
Antigüedad: 11 años, 8 meses
Puntos: 0
Respuesta: Paginación PHP con enlaces a DIV

Lo tengo!!
Muchas gracias, la solución ha sido poner en el codigo html lo siguiente:

Código HTML:
<script type="text/javascript">
var p1=0;
</script> 
Parece ser que el problema era el que decías, en el onclick del href le estaba asignando valor a p1 sin antes haberla inicializado, esto funciona bien en Firefox, Chrome pero no en Internet Explorer.

Muchas gracias otra vez!

Etiquetas: enlaces, html, mysql, php, resultados
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:24.