Foros del Web » Programando para Internet » Javascript » Frameworks JS »

[SOLUCIONADO] Ventana con Fancybox & PHP no carga los valores correctos

Estas en el tema de Ventana con Fancybox & PHP no carga los valores correctos en el foro de Frameworks JS en Foros del Web. Tengo un problema con Fancybox, cuando trato de mostrar datos desde la base de datos, solo carga el primer resultado y los muestra en todas ...
  #1 (permalink)  
Antiguo 28/03/2013, 11:26
 
Fecha de Ingreso: marzo-2013
Mensajes: 26
Antigüedad: 11 años
Puntos: 0
Ventana con Fancybox & PHP no carga los valores correctos

Tengo un problema con Fancybox, cuando trato de mostrar datos desde la base de datos, solo carga el primer resultado y los muestra en todas las otras ventanas

Aqui esta mi llamada al Fancybox
Código HTML:
<script>
$(document).ready(function() {
	$(".various").fancybox({
		fitToView	: false,
		width		: '70%',
		height		: '70%',
		autoSize	: true,
		closeClick	: false,
		scrolling   : 'auto',
		openEffect	: 'fade',
		closeEffect	: 'fade',
		type : 'inline',
		titlePosition     : 'inside'
		
	});
});
</script> 
Aqui esta mi codigo en PHP

Código PHP:
echo '<td><p class="various" href="#inline" title="Reference ID # ' $referenceId '">' .truncate($value['managementSummary']). ' ...(+)</p></td>';    
echo 
'<div style="display: none;"><div id="inline" style="width:400px;height:200px;overflow:auto;"> '$value['managementSummary'] .'  </div>'
El numero de referencia "referenceId" lo muestra correctamente, pero el valor de "managementsummary" solo muestra el primero, y lo repite en todos los otros enlaces.
Algo leia acerca de la diferencia entre Class & ID, pues en mi caso necesito q sea un Class pero mi DIV no hace nada cuando le cambio... estoy confundido y necesito ayuda... Gracias amigos!
  #2 (permalink)  
Antiguo 28/03/2013, 20:00
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ventana con Fancybox & PHP no carga los valores correctos

Cita:
Iniciado por cyberjas2001
Aqui esta mi codigo en PHP
Querrás decir sólo una parte de tu código, falta la parte donde extraes la info de la base de datos y cómo haces el ciclo para generar ese par de echos.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 29/03/2013, 06:31
 
Fecha de Ingreso: marzo-2013
Mensajes: 26
Antigüedad: 11 años
Puntos: 0
Respuesta: Ventana con Fancybox & PHP no carga los valores correctos

Claro mi codigo completo es este:

Código PHP:
<?php
        
//function to truncate text and show read more link  
        
function truncate($mytext) {  
        
//Number of characters to show  
        
$chars 30;  
        
$mytext substr($mytext,0,$chars);  
        
$mytext substr($mytext,0,strrpos($mytext,' '));    
        return 
$mytext;  
        }  
        
?>
        <?php
        
if ($currentSuggestionsForView) {
            foreach (
$currentSuggestionsForView as $referenceId => $value) {
                if (
is_array($value)) {
                    echo 
'<tr>';

                    if (
date("Y"$value['suggestionDate']) == date("Y"time())) {
                        
$showSuggestionDate date("D, M j"$value['suggestionDate']);
                    } else {
                        
$showSuggestionDate date("D, M j, Y"$value['suggestionDate']);
                    }

                    if (
$currentCanEdit) {
                        echo 
'<td style="width: 150px;"><a href="' $referenceId '">' $referenceId '</a></td>';
                    } else {
                        echo 
'<td>' $referenceId '</td>';
                    }
                    
                    echo 
'<td>' $showSuggestionDate '</td>';
                    echo 
'<td>' $value['status'] . '</td>';
                    echo 
'<td><p id= "various" class="various" href="#inline" title="Reference ID # ' $referenceId '">' .truncate($value['managementSummary']). ' ...(+)</p></td>';    
                    echo 
'<div style="display: none;"><div id="inline" style="width:400px;height:200px;overflow:auto;"><p> '$value['managementSummary'] .'  </p></div>';                
                    echo 
'<td><p class="responseColumn" title="' $value['managementResponse'] . '">' $value['managementResponse'] . '</p></td>';
                    echo 
'</tr>';
                }
            }
        }
        
?>
Pero mi problema especifico era en esas lineas de codigo q puse anteriormente.
Al leer mas acerca de Fancybox me doy cuenta q tal vez estoy usando el atributo incorrecto y en vez de ser un "inline" podria ser un "ajax", pero de todas maneras he probado varios cambios sin exito, si alguien puede ayudarme o guiarme por el camino se les agradeceria muchos, gracias!

Haciendo una inspeccion de mi codigo a traves de Firebug, me puedo dar cuenta q efectivamente mi contenido si se esta cargando dinamicamente, pero el Fancybox no se refresca y me sigue mostrando solo el primer elemento analizado, ahora trato de buscar una manera en q mi Jquery se autorefresque despues de cerrarse.

Última edición por cyberjas2001; 29/03/2013 a las 11:53
  #4 (permalink)  
Antiguo 29/03/2013, 20:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ventana con Fancybox & PHP no carga los valores correctos

Primero prueba sin AJAX para ver que el contenido se esté generando correctamente, si todo va bien, entonces habrá que solicitar que muevan tu tema al foro de Javascript.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 01/04/2013, 06:34
 
Fecha de Ingreso: marzo-2013
Mensajes: 26
Antigüedad: 11 años
Puntos: 0
Respuesta: Ventana con Fancybox & PHP no carga los valores correctos

El codigo funciona, xq cuando lo compilo sin el fancybox me reproduce los datos sin ningun problema, cuando hago un chequeo general de la pagina con el Firebug, me muestra q inclusive hasta en el momento de llamar los datos, lo hace correctamente con mi codigo, pero justo al momento de mostrar los datos en el Fancybox simplemente no refresca la informacion y por si solo se ve el primer registro y no el registro actual, se q debo hacer una funcion dentro del Fancybox para refrescar la ventana algo como:
Código HTML:
afterLoad : function() {
this.content = '. $value['managementSummary'] .';
Pero no hace nada, parece q mi funcion no esta bien planteada o algo
  #6 (permalink)  
Antiguo 01/04/2013, 09:15
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: Ventana con Fancybox & PHP no carga los valores correctos

Entonces tu problema es de Javascript, no de PHP.

Reporto el tema para que un moderador lo lleve para allá.
__________________
- León, Guanajuato
- GV-Foto
  #7 (permalink)  
Antiguo 01/04/2013, 09:43
 
Fecha de Ingreso: marzo-2013
Mensajes: 26
Antigüedad: 11 años
Puntos: 0
Respuesta: Ventana con Fancybox & PHP no carga los valores correctos

Por lo q pude investigar necesito hacer una llamada Ajax para q mi fancybox se refresque con nueva informacion cada vez q se abre directamente desde el link.
Cuando una prueba cargando el valor de
Código PHP:
Ver original
  1. '. $value['managementSummary'] .'
en mi TITLE, si lo cambia??? osea si lee el texto dependiendo el link... obviamente no puedo usar el atributo Title para mostrar mi informacion xq apenas es una linea, pero xq el contenido no se cambia dinamicamente?

Última edición por cyberjas2001; 01/04/2013 a las 13:20
  #8 (permalink)  
Antiguo 02/04/2013, 11:07
 
Fecha de Ingreso: marzo-2013
Mensajes: 26
Antigüedad: 11 años
Puntos: 0
Respuesta: Ventana con Fancybox & PHP no carga los valores correctos

Bueno finalmente pude resolver el problema q tuve, al usar otro atributo de mi DIV, use el atributo Rel, incluyendo una funcion en la llamada de mi fancybox:
Código Javascript:
Ver original
  1. afterLoad: function(){
  2. this.content = $(this.element).attr('rel');}
Con esto dentro de mi codigo php pude llamar mi contenido, algo extraño q mediante el href content no haya funcionado, pero de todas maneras aqui les dejo mi codigo.
Código PHP:
Ver original
  1. echo '<td><p>' .truncate($value['managementSummary']). ' <a href="#inline" class="various" rel="'. $value['managementSummary'] .'" title="Reference ID # ' . $referenceId . '">...(+)</a></p></td>';
  2. echo '<div id="inline" style="width:400px;height:200px;display:none;"> '. $value['managementSummary'] .'  </div></td>';
Con esto pude transferir mi contenido dinamico desde la base de datos hasta el cuerpo del fancybox sin ningun problema.

Etiquetas: fancybox, php
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 09:39.