Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Seleccionar checkbox, click boton modificar, enviar datos a popup

Estas en el tema de Seleccionar checkbox, click boton modificar, enviar datos a popup en el foro de PHP en Foros del Web. Hola amigos por favor ayudenme, llevos varios dias y madrugadas sin poder resolver este problema que parece tan sencillo, pero yo nunca e desarrollado algo ...
  #1 (permalink)  
Antiguo 02/06/2013, 13:21
Avatar de jrclurita  
Fecha de Ingreso: febrero-2012
Ubicación: Lima
Mensajes: 33
Antigüedad: 12 años, 2 meses
Puntos: 0
Pregunta Seleccionar checkbox, click boton modificar, enviar datos a popup

Hola amigos por favor ayudenme, llevos varios dias y madrugadas sin poder resolver este problema que parece tan sencillo, pero yo nunca e desarrollado algo asi. He preguntado en otros grupos y no me ayudan.

Estoy mostrando en una tabla ciertos registros con php y mysql y a su izquierda un input type=checkbox :

Código PHP:
<?php
require("../php/conexion.php");
require(
"../php/funciones.php");

$query "SELECT * FROM compras ORDER BY id DESC";

$queEmp mysql_query($query$conexion);

// Define $color=1 
$color="1";
echo 
"<form id='reg' name='reg' method='post' action='popup_modificar_compra.php' >";

echo 
"<table border=0 cellpadding=1 cellspacing=0 width='900px' align='center'>";
echo 
"<tr>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b><input name='' type='checkbox' value='' /></b></td>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b>CODIGO</b></td>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b>CANTIDAD</b></td>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b>PRODUCTO</b></td>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b>IMPORTE</b></td>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b>FECHA COMPRA</b></td>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b>PROOVEDOR</b></td>";
echo 
"<td class='item_cabecera_detalle_registros' align='center'><b>N° FACTURA</b></td>";
echo 
"</tr>";

while (
$rsEmp mysql_fetch_assoc($queEmp)) { 


// If $color==1 table row color = #FFC600
if($color==1){

echo 
"<tr>
<td bgcolor='#E6E6E6' class=item_listado_registros align=center><input name=casilla[] type=checkbox id=checkbox[] value=$rsEmp[id]></td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') align=center bgcolor='#E6E6E6' class=item_listado_registros align=center>"
.$rsEmp['codigo']."</a></td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') align=center bgcolor='#E6E6E6' class=item_listado_registros align=center>"
.$rsEmp['cantidad']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') align=center bgcolor='#E6E6E6' class=item_listado_registros align=center>"
.$rsEmp['producto']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') align=center bgcolor='#E6E6E6' class=item_listado_registros align=center>"
.$rsEmp['importe']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') align=center bgcolor='#E6E6E6' class=item_listado_registros align=center>"
.$rsEmp['fechacompra']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') align=center bgcolor='#E6E6E6' class=item_listado_registros align=center>"
.$rsEmp['proovedor']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center bgcolor='#E6E6E6'>"
.$rsEmp['numerofactura']."</td>";
echo 
"</tr>";


// Set $color==2, for switching to other color 
$color="2";
}
// When $color not equal 1, use this table row color 
else {
echo 
"<tr>
<td id=class=linkreg class=item_listado_registros align=center><input name=casilla[] type=checkbox id=checkbox[] value=$rsEmp[id]></td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center>"
.$rsEmp['codigo']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center>"
.$rsEmp['cantidad']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center>"
.$rsEmp['producto']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center>"
.$rsEmp['importe']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center>"
.$rsEmp['fechacompra']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center>"
.$rsEmp['proovedor']."</td>
<td id=linkreg href=# id=linkregistro onclick=Abrir_ventana('popup_ver_compra.php?id=$rsEmp[id]') class=item_listado_registros align=center>"
.$rsEmp['numerofactura']."</td>";
echo 
"</tr>";


// Set $color back to 1 
$color="1";
}
// Cerramos el While
}

//Notemos que colocamos ". y ." para concatenar las variables php y HTML
//Cerramos la tabla, es necesario hacerlo fuera del while, de los contrario solo mostraría la segunda fila dentro de la tabla el resto estaría desordenado.
echo "</table>";

echo 
"</form>";
    
 
?>
Fuera del formulario tengo un boton para modificar:

Código HTML:
<button class="boton_data" onclick="Modificar();" id="btn_agregar">Modificar</button> 

Entonces quiero que al marcar el checkbox, luego hacer click en el boton modificar, me envie los datos al popup para modificarlos.

Osea si tengo 10 registros en la tabla, y marco el checkbox del registro 6 y hago click en el boton modificar, quiero que me envie los datos de ese registro 6 a un popup.

Lo que yo he conseguido es enviar el ID al popup con el foreach :

Código PHP:
 <?php
 
require("../php/conexion.php");
require(
"../php/funciones.php");
 
foreach (
$_POST['casilla'] as $id){ 
   echo 
$id."<br>"

?>
Pero me recoge por que el input type checkbox es un array:

Código HTML:
<input name=casilla[] type=checkbox id=checkbox[] value=$rsEmp[id]> 
pero los demas campos son solo registros y no estan como arrays.

El popup lo abro con javascript:

Código HTML:
<script type="text/javascript">
function Modificar (pagina) {
window.open('popup_modificar_compra.php','ventanaf','width=620,height=330,scrollbars=0');
}
</script> 
Espero me puedan ayudar hermanos, estoy muy preocupado hace 10 dias que no consigo solucionarlo.
__________________
Cuantas cosas por ver y no hay tiempo: "El defecto de las redes sociales es que nunca podemos ver todos los contenidos"

Última edición por jrclurita; 02/06/2013 a las 13:36
  #2 (permalink)  
Antiguo 02/06/2013, 13:37
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Seleccionar checkbox, click boton modificar, enviar datos a popup

Cuál es el problema concreto? Puedes enviar el ID al pop up o no? Si puedes, entonces sólo te falta agregar la lógica de selección de ese elemento y mostrarlo.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 02/06/2013, 13:48
Avatar de jrclurita  
Fecha de Ingreso: febrero-2012
Ubicación: Lima
Mensajes: 33
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Seleccionar checkbox, click boton modificar, enviar datos a popup

Cita:
Iniciado por repara2 Ver Mensaje
Cuál es el problema concreto? Puedes enviar el ID al pop up o no? Si puedes, entonces sólo te falta agregar la lógica de selección de ese elemento y mostrarlo.
Asi es amigo, puedo llamar solo al id con un foreach, quiero llamar a los demas campos: codigo, cantidad, importe, etc.

Código PHP:
 <?php
 
require("../php/conexion.php");
require(
"../php/funciones.php");
 
foreach (
$_POST['casilla'] as $id){ 
   echo 
$id."<br>"


?>
Pero los demas campos no son arrays, el foreach solo me llama el id por que esta como un array en el input type checkbox asi:


Código HTML:
<input name=casilla[] type=checkbox id=checkbox[] value=$rsEmp[id]> 
__________________
Cuantas cosas por ver y no hay tiempo: "El defecto de las redes sociales es que nunca podemos ver todos los contenidos"
  #4 (permalink)  
Antiguo 02/06/2013, 13:55
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Seleccionar checkbox, click boton modificar, enviar datos a popup

Tienes dos opciones:
1. Con el $id que pasas haces una select y obtienes los datos del elemento, los muestras y haces lo que quieres o
2. Pones tantos inputs como valores quieres pasar por $_POST. Sólo obtienes ID porque sólo hay inputs para el valor ID. Necesitas un input por cada campo que quieras pasar.
Las dos opciones son válidas pero la primera es un poco más elegante.
Salu2
__________________
Fere libenter homines, id quod volunt, credunt.
  #5 (permalink)  
Antiguo 02/06/2013, 15:12
Avatar de jrclurita  
Fecha de Ingreso: febrero-2012
Ubicación: Lima
Mensajes: 33
Antigüedad: 12 años, 2 meses
Puntos: 0
Respuesta: Seleccionar checkbox, click boton modificar, enviar datos a popup

Cita:
Iniciado por repara2 Ver Mensaje
Tienes dos opciones:
1. Con el $id que pasas haces una select y obtienes los datos del elemento, los muestras y haces lo que quieres o
2. Pones tantos inputs como valores quieres pasar por $_POST. Sólo obtienes ID porque sólo hay inputs para el valor ID. Necesitas un input por cada campo que quieras pasar.
Las dos opciones son válidas pero la primera es un poco más elegante.
Salu2
Gracias por responder, La primera opción, me sirvio, hice un select:

$sql = "SELECT * FROM compras INNER JOIN productos WHERE id = $id";

muchas gracias y espero ayudarte en alguna oportunidad.

saludos.
__________________
Cuantas cosas por ver y no hay tiempo: "El defecto de las redes sociales es que nunca podemos ver todos los contenidos"

Última edición por jrclurita; 02/06/2013 a las 15:18

Etiquetas: javascript, mysql
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 20:00.