Foros del Web » Programando para Internet » PHP »

PHP OO Datagrid y Checkbox con php

Estas en el tema de Datagrid y Checkbox con php en el foro de PHP en Foros del Web. Buenas tardes compañeros, Solicito su colaboracion para lo siguiente: Tengo una pequeña aplicacion la cual realiza lo siguiente, en una base de datos oracle. El ...
  #1 (permalink)  
Antiguo 29/04/2013, 14:28
 
Fecha de Ingreso: julio-2011
Ubicación: palmira
Mensajes: 4
Antigüedad: 12 años, 8 meses
Puntos: 0
Datagrid y Checkbox con php

Buenas tardes compañeros,

Solicito su colaboracion para lo siguiente:

Tengo una pequeña aplicacion la cual realiza lo siguiente, en una base de datos oracle.

El siguiente codigo php me permite realizar una consulta a la base de datos y me muestra los datos a traves de un datagrid con opciones de checkbox (anteriormete lo tenia con opciones tipo button)

<?php
include('db.php');
$acuerdo_consulta = $_REQUEST['acuerdo'];
$cedula_consulta = $_REQUEST['cedula'];

/* Informacion del Acuerdo */

$sql = "select adc.consecutivo_ap,adc.consecutivo_cuota, TO_CHAR(adc.fecha_pago_cuota,'DD/MM/YYYY HH24:MI:SS') as fecha_pago_cuota,adc.id_estado,adc.valor from ap_detalle_cuotas adc
inner join ap_maestro am ON am.consecutivo_ap = adc.consecutivo_ap
where nro_acuerdo = '$acuerdo_consulta' and am.id_usuario_deudor = '$cedula_consulta'";

$result = $db->sql_query($sql);

?>
<table width="400" border="1" align="center">
<tr>
<td><div align="center">NUMERO DE ACUERDO DIGITADO</div></td>
<td><?php echo $_REQUEST['acuerdo'];?></td>
</tr>
</table>

<?php
if ($row1 = $db->sql_fetchrow($result)){

echo "<p align='center'><strong>INFORMACION DEL ACUERDO</strong></p>";
echo "<form name='ejecuta' method='post' action='Modifica_Acuerdos_Pago.php'><table border='1' align='center'> \n";

echo "<tr>
<td><div align='center'><strong>CONSECUTIVO AP</strong></div></td>
<td><div align='center'><strong>CONSECUTIVO CUOTA</strong></div></td>
<td><div align='center'><strong>FECHA DE PAGO</strong></div></td>
<td><div align='center'><strong><p>ESTADO</p><p>1=SE ADEUDA 2=PAGADO</p></strong></div></td>
<td><div align='center'><strong>VALOR</strong></div></td>
<td><div align='center'><strong>MODIFICA</strong></div></td>
<td><div align='center'><strong>ELIMINA</strong></div></td>
</tr> \n";
do {
echo "<tr>

<td><input type='hidden' name='consecutivo_ap[$i]' value='".$row1["consecutivo_ap"]."' />".$row1["consecutivo_ap"]."</td>
<td><input type='hidden' name='consecutivo_cuota[$i]' value='".$row1["consecutivo_cuota"]."' />".$row1["consecutivo_cuota"]."</td>
<td><input type='text' name='fecha_pago_cuota[$i]' value='".$row1["fecha_pago_cuota"]."' /></td>
<td><input type='text' name='id_estado[$i]' value='".$row1["id_estado"]."' /></td>
<td><input type='text' name='valor[$i]' value='".$row1["valor"]."' /></td>
<td><input type='checkbox' name='seleccion[$i]' value='modifica".$row1[0]."'></td><!-- Esta línea es para saber si se modifica -->
<td><input type='checkbox' name='seleccion[$i]' value='elimina".$row1[0]."'></td><!-- Esta línea es para saber si se elimina -->
</tr>\n";$i++;
} while ($row1 = $db->sql_fetchrow($result));
echo "</table><div align='center'><input type='submit' value='Enviar'></div></form> \n";



} else {

echo "<p align='center'><strong>¡ No se ha encontrado ningún registro !</strong></p>";
}


una vez se da click en el botton enviar, se abre una nueva pagina que indica si la actualizacion se realizo correctamente, que es el siguiente codigo:

<?php
include('db.php');
print_r($_POST);

foreach ($_POST['seleccion'] as $indice => $valor)
{

//Vamos a verificar si trae la opcion de eliminar o modificar
$opcion = substr ($_POST['seleccion'][$indice],0,9); //extraemos la parte de la cadena que elimina y/o modifica

switch($opcion)
{
//generamos la sentencia para la modificación filtrando por el id para que solo cambie ese registro
case 'modifica':
$sql="UPDATE ap_detalle_cuotas SET
fecha_pago_cuota=TO_DATE('".$_POST['fecha_pago_cuota'][$indice]."','DD/MM/YYYY HH24:MI:SS'),
id_estado=".$_POST['id_estado'][$indice].",
valor=".$_POST['valor'][$indice].",
valor_simit=".$_POST['valor'][$indice]."
WHERE consecutivo_ap=".$_POST['consecutivo_ap'][$indice]." and consecutivo_cuota=".$_POST['consecutivo_cuota'][$indice]; break;

case 'elimina':
$sql="DELETE FROM ap_detalle_cuotas WHERE consecutivo_ap=".$_POST['consecutivo_ap'][$indice]." and consecutivo_cuota=".$_POST['consecutivo_cuota'][$indice];break;

default: echo "<center>NO HAY NADA SELECCIONADO</center>
<a href='Acuerdos_Pago.php'>Volver</a>";

break;
}

$resultado = $db->sql_query($sql,TRUE);
if (! $resultado )
{
die ("ERROR AL EJECUTAR LA CONSULTA ".$_POST['seleccion'].":".$db->sql_error());
}
else{
echo "<center>ok</center><br />
<a href='Acuerdos_Pago.php'>Volver al panel</a>";
}$db->sql_close();
}
?>


si la aplicacion la dejo funcionando con opcion tipo button la sentencia se ejecuta correctamente, pero si utilizo checkbox si seleccciono varios items el primer item me lo ejecuta correctamente, pero para el segundo item me crea la sentencia pero no me la ejecuta me genera un error de array.

Gracias

Etiquetas: checkbox, datagrid, registro, select, sql
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:09.