Ver Mensaje Individual
  #1 (permalink)  
Antiguo 21/05/2009, 15:49
Avatar de Enishy
Enishy
 
Fecha de Ingreso: septiembre-2007
Mensajes: 121
Antigüedad: 16 años, 7 meses
Puntos: 1
ayuda gestionar checkbox

Hola foreros uso Appserv en WinXP y se me a presentado un problema

lo que e realizado es tomando el codigo de la FAQ's de Como gestionar acciones a los registros seleccionados con checbox (estilo web-mails tipo Hotmail).
http://www.forosdelweb.com/f18/faqs-...tml#post518710

Esta es la situacion: en mi consulta muestro campos que contiene datos de objetos que estan en exposición fuera del pais, y lo consigo seleccioanndo solo los que tienen estado = '1'

Ahora no estoy seguro si estoy tomando bien el valor del check que es "estado"
Cita:
<td><input type=\"checkbox\" name=\"seleccion[]\" value=\"'$row[id]'\">$row[estado]</td>
para que sea enviado y el codigo procesar.php actualize los objetos a estado= '0'

bueno este es mi formulario html

Código PHP:
<?
// Realizar la conexión a la BD .. Seleccionar la BD a usar.

// Ejecutar la consulta para obtener los datos de la BD.
$sql="SELECT fcat.registro_catalogacion, fexp.nombre_exposicion, fexp.organizador_exposicion, fexp.lugar_exposicion, 
fexp.fechade_exposicion, fexp.fechahasta_exposicion, fexp.monto_poliza_exposicion
FROM ficha_catalogacion AS fcat, ficha_exposicion AS fexp
WHERE fcat.codigo_catalogacion = fexp.codigo_catalogacion
AND fcat.estado = '1'"
;
$resultado pg_exec($DB,$sql);

// Se inicial el formulario
echo "<form action=\"procesar.php\" method=\"post\"> \n";

// Extraemos y componemos los checbox dinámicos de los datos de nuestra tabla de la BD.
echo"
<table width='900' border='1' cellpadding='3' cellspacing='1'>
<tr>
<td align='center' class='navbar'><strong>Reg. Cat.</strong></td>
<td align='center' class='navbar'><strong>Exposici&oacute;n</strong></td>
<td align='center' class='navbar'><strong>Organizador</strong></td>
<td align='center' class='navbar'><strong>Lugar </strong></td>
<td align='center' class='navbar'><strong>Monto</strong></td>
<td align='center' class='navbar'><strong>Fecha Partida</strong></td>
<td align='center' class='navbar'><strong>Fecha Llegada</strong></td>
<td>&nbsp;</td>
</tr>"
;
                            
while (
$row pg_fetch_array($resultado)){  
echo
"
<tr>
<td>$row[registro_catalogacion]</td>
<td>$row[nombre_exposicion]</td>
<td>$row[organizador_exposicion]</td>
<td>$row[lugar_exposicion]</td>
<td>$row[monto_poliza_exposicion]</td>
<td>$row[fechade_exposicion]</td>
<td>$row[fechahasta_exposicion]</td>
<td><input type=\"checkbox\" name=\"seleccion[]\" value=\"'$row[id]'\">$row[estado]</td>
</tr>"
;

echo
"
</table><br/>
<table border=0 cellspacing=0 cellpadding='0'>
<tr>
<td><input type='submit' name='submit' value='Retornar Objeto'></td>
</tr>
</table>
?>
mi problema ocurre en el arhivo PHP "procesar.php" y es este

Cita:
Warning: pg_exec() [function.pg-exec]: Query failed: ERROR: syntax error at or near "\" LINE 4: WHERE id IN(\'\') AND ^ in C:\AppServ\www\MuseoP\Admin\Formularios\procesar.p hp on line 8
Código PHP:
<?php 
include "Conexion.php";
$lista=implode(',',$_POST['seleccion']);
pg_exec("UPDATE ficha_catalogacion 
SET estado='0'
FROM ficha_exposicion
WHERE id IN("
.$lista.") AND
ficha_catalogacion.codigo_catalogacion = ficha_exposicion.codigo_catalogacion"
);
?>