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

SimpleModal y bucle While

Estas en el tema de SimpleModal y bucle While en el foro de Frameworks JS en Foros del Web. Muy buenas, hace bastante que sigo el foro y me ha servido de muchísima ayuda con la web que estoy desarollando, por lo que os ...
  #1 (permalink)  
Antiguo 19/11/2011, 13:16
Avatar de Nostromoz  
Fecha de Ingreso: noviembre-2011
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
SimpleModal y bucle While

Muy buenas, hace bastante que sigo el foro y me ha servido de muchísima ayuda con la web que estoy desarollando, por lo que os doy las gracias de antemano.

Ahora tengo un problema que de momento no he encontrado la solución, a ver si alguien le ha pasado algo parecido:

Tengo un página PHP que recoge una selección del usuario y mediante un bucle while hace un query a mysql para mostrar por pantalla algunos datos, en este caso información de empresas que corresponden con la selección, y lista en pantallaa dichas las empresas.

Como la información de cada empresa es bastante amplia, solo muestro parte de dicha información y pongo un enlace en cada empesa donde se abre un pop-up con la información completa de esa empresa. Dicho pop-up se abre mediante una ventana modal creada por SimpleModal (JQuery).

El listado de empresas lo hace correctamente, pero cuando le doy al enlace para que me salga el pop-up con toda la información siempre me muestra la información de la primera empresa que se lista. El párametro que se pasa para mostrar toda la información es un campo "id" único, pero este "id" siempre marca el valor 1.

Bueno, mejor os dejo el código de lo mas interesante:

empresas.php (en la línea 13 es donde se invoca al pop-up de SimpleModal con la información completa de la empresa)
Código php:
Ver original
  1. while($MostrarFila=mysql_fetch_array($Resultado)){  
  2.     $imagen = $MostrarFila['imagen'];
  3.     $nombre = $MostrarFila['nombre'];
  4.     $descripcion = $MostrarFila['descripcion'];
  5.     $direccion = $MostrarFila['direccion'];
  6.     $telefono = $MostrarFila['telefono/fax'];
  7.     $id = $MostrarFila['id'];
  8.    
  9.     echo "<div id='global'>";
  10.         echo "<div id='izquierdo'><img src=".$imagen."/></div>";
  11.         echo "<div  id='derecho'>";
  12.             echo "<div class='arribaizq'>".$nombre."</div>";
  13.             echo "<div class='arribader' align='right'><div id='basic-modal'><a href='#' class='basic'>[+]</a></div></div>";
  14.             echo "<div class='centroarriba'>".$descripcion."</div>";
  15.             echo "<div class='centroabajo'><font color=\'#659ACC\'><b>Dirección:</b></font>&nbsp;".$direccion."</div>";
  16.             echo "<div class='abajoizq'><font color=\'#659ACC\'><b>Ciudad:</b></font> ".$nombreciudad."&nbsp;(".$nombreprovincia.")</div>";
  17.             echo "<div class='abajoder'><font color=\'#659ACC\'><b>Teléfono</b></font>:&nbsp;".$telefono."</div>";
  18.         echo "</div>";
  19.     echo "</div>";
  20.    
  21.     echo "<div id='basic-modal-content'>";
  22.            
  23.             include ("detalles.php");
  24.  
  25.     echo "</div>";  }

jquery de SimpleModal:
Código Javascript:
Ver original
  1. <script>
  2.     jQuery(function ($) {
  3.     // Load dialog on page load
  4.     //$('#basic-modal-content').modal();
  5.  
  6.     // Load dialog on click
  7.     $('#basic-modal .basic').click(function (e) {
  8.        
  9.         $('#basic-modal-content').modal();
  10.  
  11.         return false;
  12.        
  13.     });
  14. });
  15.  
  16.  
  17.  
  18. </script>

El archivo "detalles.php" que aparece en la línea 23 de "empresas.php" es el que coge la ID y muestra toda la información en la ventana modal que se ha invocado con SimpleModal, pero como digo siempre coge el mismo ID (en este caso el primero) y por tanto siempre muestra la misma empresa aunque seleccionemos otra.

Gracias de antemano por la ayuda y un saludo.
  #2 (permalink)  
Antiguo 19/11/2011, 15:26
 
Fecha de Ingreso: noviembre-2011
Ubicación: Morelia, Mich, México
Mensajes: 95
Antigüedad: 12 años, 4 meses
Puntos: 18
Respuesta: SimpleModal y bucle While

Hola,

si imprimes $id = $MostrarFila['id']; en el while antes de detalles.php si imprime diferentes id's?

si no entonces seria cosa de revisar que datos esta regresando tu consulta?

los demas campos si son diferentes al mostrarlos, es decir fax, nombre etc?

la otra, es que estas llamando un id .

Código Javascript:
Ver original
  1. $('#basic-modal .basic').click(function (e) {
  2.        
  3. // Este deberia ser una clase
  4.         $('#basic-modal-content').modal();
  5.  
  6.         return false;
  7.        
  8.     });

deberia ser una clase puesto que son diferentes modals los que se mostraran
__________________
Que de Cosas - Tienda En linea México

La Batalla Por tu cuerpo - Dietas|Rutinas|Entrenamientos|Salud
  #3 (permalink)  
Antiguo 20/11/2011, 04:57
Avatar de Nostromoz  
Fecha de Ingreso: noviembre-2011
Mensajes: 4
Antigüedad: 12 años, 4 meses
Puntos: 0
Respuesta: SimpleModal y bucle While

Buenas quedecosas, lo primero muchas gracias por contestar.

Te comento:

$id = $MostrarFila['id'] en el while se imprime correctamente, es decir coge el id correcto de cada empresa, por lo que la primera lista que se genera con las empresas seleccionadas por el criterio de búsqueda del usuario se hace bien.

El problema es el paso que se hace a "detalles.php", pues es ahí donde siempre pasa la misma ID sea cual sea la empresa de la que queremos desplegar toda la información. Si el $id = $MostrarFila['id'] lo dejo dentro del while a "detalles.php" siempre pasa la primera ID, en cambio si lo saco del while obviamente le pasará siempre la ID del último mostrado.

Por lo que he estado viendo el problema reside en el paso que se hace de "empresas.php" a "detalles.php" a través de la ventana modal, es ésta la que solo hace que pase el mismo número y no se como solucionarlo.

Lo que me dices de la clase no acabo de entenderlo muy bien, la línea:
Código Javascript:
Ver original
  1. $('#basic-modal-content').modal();

Por lo que vi en su día consiste en que lo que está metido dentro de ese div está en hide, y al hacer click en lo que está entre <div id='basic-modal"> lo que hace es llamar a la clase ".modal()" que se encarga de quitarle el hide y mostrarlo en una ventana modal; no se si se me estará pasando algo...

Creo En esa parte del código es donde tengo que ir almacenando de forma dinámica la ID para cada empresa, que será luego enviada a "detalles.php" correctamente

Etiquetas: jquery
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 13:19.