PHP - pasar variables a ventana modal

 
Vista:
Imágen de perfil de siREZ
Val: 23
Ha disminuido su posición en 95 puestos en PHP (en relación al último mes)
Gráfica de PHP

pasar variables a ventana modal

Publicado por siREZ (203 intervenciones) el 03/12/2013 20:09:45
Cordial saludo.

quiero abrir una ventana modal pero que me lleve los valores de la variable $nombre que obtiene de la tabla master de mi BBDD

el ejemplo simple que estoy implementando es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<!DOCTYPE html>
	<head>
		<meta charset="utf-8" />
		<title>pantalla modal</title>
	  	<link rel="stylesheet" href="reveal.css">
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
		<script type="text/javascript" src="jquery.reveal.js"></script>
		<style type="text/css">
			body { font-family: "HelveticaNeue","Helvetica-Neue", "Helvetica", "Arial", sans-serif; }
			.big-link { display:block; margin-top: 100px; text-align: center; font-size: 70px; color: #06f; }
		</style>
	</head>
	<body>
 
<a href="#" class="big-link" data-reveal-id="myModal">abrir ventana</a>
 
		<div id="myModal" class="reveal-modal">
			<h1><?php echo $_SESSION['nombre_usuario'];?> </h1>
			<p>............ </p>
			<a class="close-reveal-modal">&#215;</a>
		</div>
 
	</body>
</html>

ahora, lo que quiero es recorrer la tabla master de mi BBDD
Pasando la variable de un .php a otro lo hago así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php
 
 include('../Conecciones/coneccion.php');
 $squery = "SELECT  * FROM master WHERE tipo = '$ref' AND activo = 'S'  ORDER BY nombre ASC";
 $iquery=mysql_query($squery,$ilink);
if ($iquery>0) {
   $irow=0;
   $ilastrow=mysql_num_rows($iquery);
   while ($irow<$ilastrow) {
	   $nombre=mysql_result($iquery,$irow,(nombre));
	   echo "<li><h2><div align=\"center\">
                                <table width=\"50%\" border=\"0\">
                                  <tr>
                                    <td><a href=\"muestra indice.php?tema=$nombre\" target=\"_parent\">$nombre</a><br></td>
                                    </tr>
                                </table>
                              </div></h2>";
       $irow++; 
	   } 
}
?>

luego en: muestra indice.php
recupero $tema así:
$tema = htmlspecialchars($_GET["tema"]);

ahora bien1. como coloco tema=$nombre en el enlace de la modal?
<a href="#" class="big-link" data-reveal-id="myModal">abrir ventana</a>

para que pueda recuperar el valor de $tema

1
2
3
4
5
<div id="myModal" class="reveal-modal">
			<h1><?php echo $_SESSION['nombre_usuario'];?> </h1>
			<p>el Tema es: $tema </p>
			<a class="close-reveal-modal">&#215;</a>
		</div>

no se si me supe explicar.

Puedo hacer esto?
Cómo lo haría?

gracias.

siREZ
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 3.943
Oro
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

pasar variables a ventana modal

Publicado por xve (6935 intervenciones) el 03/12/2013 21:17:55
Hola sIREZ, siento decirte que no he entendido que quieres hacer...

Desde una ventana modal quieres capturar el valor de una variable php?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de siREZ
Val: 23
Ha disminuido su posición en 95 puestos en PHP (en relación al último mes)
Gráfica de PHP

pasar variables a ventana modal

Publicado por siREZ (203 intervenciones) el 03/12/2013 21:33:17
gracias xve

quiero llevar $texto a la ventana modal.


el codigo es:

for($t=0;$t<$filas;$t++){
if($control<>""){echo "<tr>";}
for($y=0;$y<7;$y++){
if($difera<>"1"){$fechy=$year_actual."-".date("m")."-".$texto;}else{$tya=date("m")+1; $fechy=$year_actual."-".$tya."-".$texto;}
if($t==0 AND $y<$ds) {echo "<td></td>";$texto--;} else if($t==0 AND $y>=$ds){echo "<td style=padding:8px; bgcolor=\"#C1FFE7\">$mes_actual $texto<br><a href=\"#\" class=\"big-link\" data-reveal-id=\"myModal\">$texto</a></td>";}
if($t>0){echo "<td style=padding:8px; bgcolor=\"#C1FFE7\">$mes_actual $texto<br><a href=\"#\" class=\"big-link\" data-reveal-id=\"myModal\">$texto</a></td>";}
$texto++;
if($texto==$numeroDeDias){$texto=1;$difera="1";}
if($texto>$dia_final AND $difer=="0"){$texto="";echo "</tr>";$y=8;$t=100;$control="";}else if ($texto>=$numeroDeDiasFinal){$texto=1;$difera="1";}
if($texto>=$dia_inicial AND $difera=="1"){$texto="";echo "</tr>";$y=8;$t=100;$control="";}

}
if($control<>""){echo "</tr>";}
}




<div id="myModal" class="reveal-modal">
<h3>Agenda <?php echo $_SESSION['nombre_usuario'];?></h3>
<p><?php echo "El dia elejido es: ".$texto;?></p>
<a class="close-reveal-modal">&#215;</a>

</div>
<p></p>

</div>

la variable $_SESSION['nombre_usuario'] si la imprime, pero deseo llevar la variable $texto


se puede?

gracias de nuevo


siREZ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

pasar variables a ventana modal

Publicado por Mari Carmen (145 intervenciones) el 03/12/2013 21:57:38
Hola siREZ.
Buff, deberías comentar el código con la etiqueta code y tabularlo para que xve no se pegue el pateo de hacerlo por ti.
Por otra parte estoy en las mismas que xve... no se que quieres decir... Aun que pongas mucho código si no sabemos lo que quieres hacer, difícilmente podemos ayudarte, entre otras cosas por que el código que pones es de libre interpretación con las explicaciones que das.
Varias cosas a tener en cuenta al programar es:
Primera tener bien claro que quieres hacer, tanto como para explicárselo a tu abuelita y que lo entienda.
Segundo es comentar bien el código, decir para que sirven las cosas y que vas a hacer. No solo para que otras personas lo entiendan, sino que para que cuando vuelvas a hacer ediciones sobre el código después de varios años sepas que hacías, o almenos que intentabas hacer.

Explícanos que quieres hacer como si fuésemos niños de preescolar porfi!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de siREZ
Val: 23
Ha disminuido su posición en 95 puestos en PHP (en relación al último mes)
Gráfica de PHP

pasar variables a ventana modal

Publicado por siREZ (203 intervenciones) el 03/12/2013 22:21:31
gracias Mari Carmen y xve

hasta yo estoy enredado con esto

voy a empezar de nuevo, si logro encajar la ventana modal en mi php, bienvenido sea, si no, lo envio a otro php.

la idea central es:
recorrer una tabla de la BBDD, imprimir los registros, a cada uno colocarle un enlace (a ventana modal) con los datos que necesito. así no pararía a otro php sino en el mismo.
<a href=\"#\" class=\"big-link\" data-reveal-id=\"myModal\">$texto</a>



creo que lo pasaré a otro php con
<a href=\"muestra indice.php?tema=$nombre\" target=\"_parent\">$nombre</a>

gracias de nuevo y pido disculpas

siREZ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

pasar variables a ventana modal

Publicado por Mari Carmen (145 intervenciones) el 03/12/2013 22:39:14
A ver si lo entiendo:
Tenemos un archivo php llamémosle archivo1.php en el que se encuentra el código HTML junto con el plugin de jquery reveal. En el que genera una ventana modal del div que tienes bajo tu "enlace".

Luego quieres recorrer... de alguna forma que no entiendo todos los valores de la BBDD y que te los muestre en tablas distintas??? Para seleccionar alguno de ellos? en algún sitio? Y luego intentar pasarlo a otro archivo, nuestro querido archivo1.php para que... lo muestre en el div de la ventana modal?....

Eso es lo que he entendido... y no tiene sentido...

PD: Don't feed the troll.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

pasar variables a ventana modal

Publicado por Mari Carmen (145 intervenciones) el 03/12/2013 23:02:07
Creo que ya se a que te refieres....
Lo que te pongo a continuación es lo último que he entendido.
Yo he entendido que quieres abrir una ventana modal con los resultados de los temas en una tabla para elegir uno de ellos y redireccionar la ventana actual a la dirección que sea.
Quizá la forma de implementarlo sea esta. No he probado el código asi que no se si funciona.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
include('../Conecciones/coneccion.php');
 $squery = "SELECT  * FROM master WHERE tipo = '$ref' AND activo = 'S'  ORDER BY nombre ASC";
 $iquery=mysql_query($squery,$ilink);
 
if ($iquery>0)
{
    $irow=0;
    $ilastrow=mysql_num_rows($iquery);
    $nombres=array();
    while ($irow<$ilastrow) {
        $nombre=mysql_result($iquery,$irow,(nombre));
        $nombres[]=$nombre;
        $irow++;
    }
}
 
?><!DOCTYPE html>
	<head>
		<meta charset="utf-8" />
		<title>pantalla modal</title>
	  	<link rel="stylesheet" href="reveal.css">
		<script type="text/javascript" src="http://code.jquery.com/jquery-1.6.min.js"></script>
		<script type="text/javascript" src="jquery.reveal.js"></script>
		<style type="text/css">
			body { font-family: "HelveticaNeue","Helvetica-Neue", "Helvetica", "Arial", sans-serif; }
			.big-link { display:block; margin-top: 100px; text-align: center; font-size: 70px; color: #06f; }
		</style>
	</head>
	<body>
 
<a href="#" class="big-link" data-reveal-id="myModal">abrir ventana</a>
 
		<div id="myModal" class="reveal-modal">
			<h1><?=$_SESSION['nombre_usuario']?></h1>
			<div align="center">
                <table width="50%" border="0">
<?php
foreach($nombres as $nombre)
{
    echo "<tr><td><a href=\"muestra indice.php?tema=$nombre\" target=\"_parent\">$nombre</a></td></tr>";
}
?>
                </table>
            </div>
			<a class="close-reveal-modal">&#215;</a>
		</div>
	</body>
</html>

Comentanos ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

pasar variables a ventana modal

Publicado por Paul (5 intervenciones) el 04/12/2013 00:06:01
Hola siREZ, puedes recoger tu variable por medio de JQuery.
Te explico como lo hago yo.

la variable en php la pongo en una etiqueta hidden de la pagina de donde abriras el modal.

<input type="hidden" value="<?=$variable_php?>" id="variable" />

y en la función del modal coges el valor de la variable:

$(function(){ // Función del modal
var variable_php = $('#variable').val(); // Coge la variable
});

y si kieres poner lo que contiene esa variable dentro de un textbox es asi:

$('#textbox_modal').attr('value', variable_php);

Esta ultima linea dentro de la función del modal.
Espero te sirva.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de siREZ
Val: 23
Ha disminuido su posición en 95 puestos en PHP (en relación al último mes)
Gráfica de PHP

pasar variables a ventana modal

Publicado por siREZ (203 intervenciones) el 04/12/2013 14:18:01
Gracias Paul por tu aporte.
estoy cerca a que me funcione.
tengo el inconveniente de que no sé en que lugar del scrip insertar el código que coge la variable

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
$(function(){ // Función del modal
var variable_php = $('#variable').val(); // Coge la variable
});
='editor_line'>
 
mi function es:
='editor_line'>
 
(function($) {
 
/*---------------------------
 Defaults for Reveal
----------------------------*/
 
/*---------------------------
 Listener for data-reveal-id attributes
----------------------------*/
 
	$('a[data-reveal-id]').live('click', function(e) {
		e.preventDefault();
		var modalLocation = $(this).attr('data-reveal-id');
		$('#'+modalLocation).reveal($(this).data());
	});
 
/*---------------------------
 Extend and Execute
----------------------------*/
 
    $.fn.reveal = function(options) {
 
 
        var defaults = {
	    	animation: 'fadeAndPop', //fade, fadeAndPop, none
		    animationspeed: 300, //how fast animtions are
		    closeonbackgroundclick: true, //if you click background will modal close?
		    dismissmodalclass: 'close-reveal-modal' //the class of a button or element that will close an open modal
    	};
 
        //Extend dem' options
        var options = $.extend({}, defaults, options);
 
        return this.each(function() {
 
/*---------------------------
 Global Variables
----------------------------*/
        	var modal = $(this),
        		topMeasure  = parseInt(modal.css('top')),
				topOffset = modal.height() + topMeasure,
          		locked = false,
				modalBG = $('.reveal-modal-bg');
 
/*---------------------------
 Create Modal BG
----------------------------*/
			if(modalBG.length == 0) {
				modalBG = $('<div class="reveal-modal-bg" />').insertAfter(modal);
			}
 
/*---------------------------
 Open & Close Animations
----------------------------*/
			//Entrance Animations
			modal.bind('reveal:open', function () {
			  modalBG.unbind('click.modalEvent');
				$('.' + options.dismissmodalclass).unbind('click.modalEvent');
				if(!locked) {
					lockModal();
					if(options.animation == "fadeAndPop") {
						modal.css({'top': $(document).scrollTop()-topOffset, 'opacity' : 0, 'visibility' : 'visible'});
						modalBG.fadeIn(options.animationspeed/2);
						modal.delay(options.animationspeed/2).animate({
							"top": $(document).scrollTop()+topMeasure + 'px',
							"opacity" : 1
						}, options.animationspeed,unlockModal());
					}
					if(options.animation == "fade") {
						modal.css({'opacity' : 0, 'visibility' : 'visible', 'top': $(document).scrollTop()+topMeasure});
						modalBG.fadeIn(options.animationspeed/2);
						modal.delay(options.animationspeed/2).animate({
							"opacity" : 1
						}, options.animationspeed,unlockModal());
					}
					if(options.animation == "none") {
						modal.css({'visibility' : 'visible', 'top':$(document).scrollTop()+topMeasure});
						modalBG.css({"display":"block"});
						unlockModal()
					}
				}
				modal.unbind('reveal:open');
			});
 
			//Closing Animation
			modal.bind('reveal:close', function () {
			  if(!locked) {
					lockModal();
					if(options.animation == "fadeAndPop") {
						modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
						modal.animate({
							"top":  $(document).scrollTop()-topOffset + 'px',
							"opacity" : 0
						}, options.animationspeed/2, function() {
							modal.css({'top':topMeasure, 'opacity' : 1, 'visibility' : 'hidden'});
							unlockModal();
						});
					}
					if(options.animation == "fade") {
						modalBG.delay(options.animationspeed).fadeOut(options.animationspeed);
						modal.animate({
							"opacity" : 0
						}, options.animationspeed, function() {
							modal.css({'opacity' : 1, 'visibility' : 'hidden', 'top' : topMeasure});
							unlockModal();
						});
					}
					if(options.animation == "none") {
						modal.css({'visibility' : 'hidden', 'top' : topMeasure});
						modalBG.css({'display' : 'none'});
					}
				}
				modal.unbind('reveal:close');
			});
 
/*---------------------------
 Open and add Closing Listeners
----------------------------*/
        	//Open Modal Immediately
    	modal.trigger('reveal:open')
 
			//Close Modal Listeners
			var closeButton = $('.' + options.dismissmodalclass).bind('click.modalEvent', function () {
			  modal.trigger('reveal:close')
			});
 
			if(options.closeonbackgroundclick) {
				modalBG.css({"cursor":"pointer"})
				modalBG.bind('click.modalEvent', function () {
				  modal.trigger('reveal:close')
				});
			}
			$('body').keyup(function(e) {
        		if(e.which===27){ modal.trigger('reveal:close'); } // 27 is the keycode for the Escape key
			});
 
 
/*---------------------------
 Animations Locks
----------------------------*/
			function unlockModal() {
				locked = false;
			}
			function lockModal() {
				locked = true;
			}
 
        });//each call
    }//orbit plugin call
})(jQuery);

siREZ
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar