Re: [PHP-ES] modificar registro en una sola pagina

From: Manuel González Noriega ( manuel .en. simplelogica.net)
Date: Wed Mar 03 2004 - 19:35:59 CET


El mié, 03-03-2004 a las 19:06, Jose Mª Hidalgo escribió:
> Me estoy comiendo el tarro que da gusto. Estoy trabajando en una página LISTADO.PHP que contiene una columna para cada registro donde aparece un link ACTIVAR o DESACTIVAR según si ese registro está TRUE o FALSE en el campo Activo de la Base de Datos MySQL.
>
> Pretendo que al hacer click en el enlace se modifique el valor del registro (si es true pasarlo a false y viceversa) y que refresque la misma página LISTADO.PHP con el nuevo valor cambiado.
>
> ----------------------------------
> Estos serían los links...
> Desactivar
>
> Activar
>

Para empezar, no entiendo porque los links están así construidos

Prueba con

$accion=desactivar&id=<?php echo $row_Recordset1['IdNews']; ?>">
$accion=activar&id=<?php echo $row_Recordset1['IdNews']; ?>">

Mucho mejor, si puedes, es cambiar la accion a 'cambiar' de forma q si
esté activa, desactives y al revés con un único enlace. Al escribir el
enlace, si está activo escribes de texto del enlace 'desactivar' o
viceversa.

Ahora sigo con lo q tienes

> --------------
> Y esta la función con ECHO actuando como chivatos...
>
> $accion = .en. $_GET['accion']; // Obtengo la cadena activar?id=X o desactivar?id=X
>

El operador .en. es para 'silenciar' los mensajes de error de una función.
No te sirve en una asignación, creo

> $LaCadena = substr($accion,0,3); //act (activar) - des (desactivar)
>

¿Ves como lo has complicado innecesariamente? Deberías poder hacer

$accion = $_GET['accion'];
$id = $_GET['id'];

Reescribe esos enlaces ;)

Y ahora, si el valor de Active es 1 o 0 te basta con ejecutar una única
query

$sql = 'UPDATE tblNews set Active = 1 - Active ...';

Que una vez ejecutada, activará lo inactivo e inactivará lo activo :-)

Prueba así, que al menos tendrás el código más limpio y luego depuramos
el error q te pueda dar.

-- 
Manuel González Noriega
Simplelógica, construcción web  
    URL: http://simplelogica.net
    EMAIL: simplelogica .en. simplelogica.net
    TELEFONO: (+34) 985 22 12 65
   
Logicola es el weblog de Simplelógica http://simplelogica.net/logicola/
</p>That's right. We said Frontpage.</p>
-- 
PHP Spanish Localization Talk Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


This archive was generated by hypermail 2.1.7 : Fri May 14 2004 - 16:04:33 CEST