|
Tengo un form para actualiza datos, ahora becesito saber que campos fueron los que se modificaron, habra alguna funcion MYSQL que me diga esta informacion, semejanta a "mysql_affected_rows" que me dice el numero de columnas modificadas. Sin necesidad de hacer un select antes del update y comparar los datos. |
|
| Esto me lleva a preguntar ¿por qué quieres saber eso?, sigo, si en UPDATE tienes condicionales, ya sabes qué registros se modificarán. |
|
| Correcto, pero ya que no es solo una sola fila la que voy a modificar, necesito generar un informe de que campos fueron modificados. |
|
|
Pues lo único que se me ocurre es que pongas un campo que te sirva de bandera y cuando hagas el update lo pongas en true, luego haces un select de todos los registros con esa bandera en true y finalmente pongas en false esa bandera con otro update. Yo no conozco sentencia o función SQL que haga lo que pides. |
|
| crea un listado con los registros modificados o con los id de los registros y luego ahces el query con todos los id |
jpcw
|
|
Eso es lo que tengo hecho ahora, pero se me imaginaba alguna sentencia SQL que tambien lo haria.- Lo actual es: Código :
$campos = array('campo1','campo2','campo3',...);
$campos_m = array('$_POST[campo1]','$_POST[campo2]','$_POST[campo3]',...);
$s_campos = implode(',', $campos );
$select = "Select $s_campos From Tbl"
$Up_fields = ($campos_m , $campos)
$update = "Update Tbls Set $campos[1]=$campos_m[1]";
gracias por sus respuestas... |
|