Foros del Web » Programando para Internet » PHP »

php y ventana modal

Estas en el tema de php y ventana modal en el foro de PHP en Foros del Web. tengo esto Código PHP: <?php $sql  =  "SELECT * FROM usuario where nombre like '$buscar%'" ;                               $rs  =  $conexion  -> query ( $sql );                  while ( $fila  =  $rs -> fetch_assoc ...
  #1 (permalink)  
Antiguo 17/09/2014, 21:14
 
Fecha de Ingreso: noviembre-2012
Mensajes: 139
Antigüedad: 12 años
Puntos: 1
php y ventana modal

tengo esto
Código PHP:
<?php
$sql 
"SELECT * FROM usuario where nombre like '$buscar%'";
           
                 
$rs $conexion ->query($sql);
                 while (
$fila $rs->fetch_assoc()){
echo 
'<section class="clase2">';
            
$id $fila['id_usuario'];
            
?>
<article class="clase3" onclick = "window.location='#openModal?id=<?=$id?>'" onmouseover="this.style.backgroundColor='#999'" onMouseout="this.style.backgroundColor=''" >
           <?php     
                
                 
echo '<div class="usuario">'.$fila['usuario'].'</div>';
                 echo 
'<div class="nombre">'.$fila['nombre'].'</div>';
                 echo 
'<div class="apellido">'.$fila['apellido'].'</div>';
                 echo 
'<div class="rut">'.$fila['rut'].'</div>';
                 echo 
'<div class="clave">'.$fila['clave'].'</div>';
            echo 
'</section>';
            echo 
'</article>';
}
que me devuelve los usuarios. Digamos que me devuelve 5 usuarios con una id distinta por cada usuario OK?.

y tengo esto
Código HTML:
Ver original
  1. <a href="#openModal">Open Modal</a>
  2.    <div id="openModal" class="modalDialog">
  3.     <div>
  4.         <a href="#close" title="Close" class="close">X</a>
  5.  
  6.        
  7.     </div>
  8.    </div>
Código CSS:
Ver original
  1. .modalDialog {
  2.         position: fixed;
  3.         font-family: Arial, Helvetica, sans-serif;
  4.         top: 0;
  5.         right: 0;
  6.         bottom: 0;
  7.         left: 0;
  8.         background: rgba(0,0,0,0.8);
  9.         z-index: 99999;
  10.         opacity:0;
  11.         -webkit-transition: opacity 400ms ease-in;
  12.         -moz-transition: opacity 400ms ease-in;
  13.         transition: opacity 400ms ease-in;
  14.         pointer-events: none;
  15.     }
  16.  
  17.     .modalDialog:target {
  18.         opacity:1;
  19.         pointer-events: auto;
  20.     }
  21.  
  22.     .modalDialog > div {
  23.         width: 400px;
  24.         position: relative;
  25.         margin: 10% auto;
  26.         padding: 5px 20px 13px 20px;
  27.         border-radius: 10px;
  28.         background: #fff;
  29.         background: -moz-linear-gradient(#fff, #999);
  30.         background: -webkit-linear-gradient(#fff, #999);
  31.         background: -o-linear-gradient(#fff, #999);
  32.     }
  33.  
  34.     .close {
  35.         background: #606061;
  36.         color: #FFFFFF;
  37.         line-height: 25px;
  38.         position: absolute;
  39.         right: -12px;
  40.         text-align: center;
  41.         top: -10px;
  42.         width: 24px;
  43.         text-decoration: none;
  44.         font-weight: bold;
  45.         -webkit-border-radius: 12px;
  46.         -moz-border-radius: 12px;
  47.         border-radius: 12px;
  48.         -moz-box-shadow: 1px 1px 3px #000;
  49.         -webkit-box-shadow: 1px 1px 3px #000;
  50.         box-shadow: 1px 1px 3px #000;
  51.     }
  52.  
  53.     .close:hover { background: #00d9ff; }


que me habre una ventana modal el problema es que cuando le hago click a uno de los 5 registro que me devuelve con window.location='#openModal' me habre la ventana vacia con y se la habro con window.location='#openModal?id=<?=$id?> no me la habre.
quiero pasar la id del usuario a la ventana para poder de hay modificar sus datos.
ayuda plz
  #2 (permalink)  
Antiguo 17/09/2014, 21:45
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: php y ventana modal

Código Javascript:
Ver original
  1. window.location='?id=<?=$id?>#openModal'
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios
  #3 (permalink)  
Antiguo 17/09/2014, 22:00
 
Fecha de Ingreso: noviembre-2012
Mensajes: 139
Antigüedad: 12 años
Puntos: 1
Respuesta: php y ventana modal

Cita:
Iniciado por NSD Ver Mensaje
Código Javascript:
Ver original
  1. window.location='?id=<?=$id?>#openModal'
cuando hago eso me recarga la pagina pero con el id y cuando busco denuevo por segunda ves se habre el modal pero no aparece la id que le envio
Código HTML:
Ver original
  1. <div id="openModal" class="modalDialog">
  2.     <div>
  3.         <a href="#close" title="Close" class="close">X</a>
  4.        
  5. <?php      $id2 = $_GET['id'];
  6.            echo $id2;
  7.        ?>
  8.        
  9.        
  10.     </div>
  11.    </div>

Última edición por falkon765; 17/09/2014 a las 22:18
  #4 (permalink)  
Antiguo 18/09/2014, 07:56
Avatar de NSD
NSD
Colaborador
 
Fecha de Ingreso: mayo-2012
Ubicación: Somewhere
Mensajes: 1.332
Antigüedad: 12 años, 6 meses
Puntos: 320
Respuesta: php y ventana modal

Si el html de la ventana modal lo generas cuando cargas la pagina, es imposible que con javascript modifiques ese valor ya que php y javascript se ejecutan en dos momentos distintos y en dos lugares distintos.

Lo que debes hacer es usar ajax para cargar el contenido de la ventana modal.

Al momento de cargar la pagina por primera vez, dentro de la ventana modal pones una imagen o un cartelito de loading, luego, para abrir la ventana, la funcion debe realizar una peticion asincronica enviando el id, y luego mostrando el resultado
__________________
Maratón de desafíos PHP Junio - Agosto 2015 en FDW | Reglamento - Desafios

Etiquetas: modal, registro, select, sql, usuarios, ventana
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 11:40.