Hello, I have this code that\’s supposed to stop the update of fields in the grid, but when I try to update, I get an error saying the field doesn\’t exist, and I get the feeling that the update isn\’t stopping. Is there something wrong with my code? function actualizarPorTabla($data, $cols, $g) { //Here would be my connection to the database with PDO // Configuración de conexión PDO manual $pdo = new PDO(\”\”); $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // Para manejar errores con excepciones //print_r($cols); //print_r($data); foreach ($cols as $col) { $campo = $col[\”name\”]; $tabla = $col[\”table\”]; // Imprimir todo $data y $cols para ver qué datos están disponibles /* echo \”Datos recibidos en \\$data: \”; print_r($data[\”params\”][\”QUALITY_1\”]); echo \”<br><br>\”; */ // Verifica si el campo está en los datos a actualizar y no es un campo de identidad if (isset($data[\”params\”][$campo]) && !in_array($campo, [\”ID_SEGUIMIENTO\”, \”ID_APROBACION\”])) { //echo $tabla; if ($tabla == \”PLM_SEGUIMIENTO\”) { // Actualizar en PLM_SEGUIMIENTO echo \”Actualiza seguimiento\”; $querySeguimiento = \”UPDATE PLM_SEGUIMIENTO SET $campo = :valor WHERE ID_SEGUIMIENTO = :ID_SEGUIMIENTO\”; $paramsSeguimiento = [ \”:valor\” => $data[$campo], \”:ID_SEGUIMIENTO\” => $data[\”ID_SEGUIMIENTO\”] ]; $stmt = $pdo->prepare($querySeguimiento); $stmt->execute($paramsSeguimiento); } elseif ($tabla == \”PLM_APROBACIONES\”) { echo \”Actualiza aprobaciones\”; //echo $data[\”params\”][$campo]; // Actualizar en PLM_APROBACIONES $queryAprobaciones = \”UPDATE PLM_APROBACIONES SET $campo = :valor WHERE ID_APROBACION = :ID_APROBACION\”; $paramsAprobaciones = [ \”:valor\” => $data[\”params\”][$campo], \”:ID_APROBACION\” => $data[\”ID_APROBACION\”] ]; $stmt = $pdo->prepare($queryAprobaciones); $stmt->execute($paramsAprobaciones); } } } } $e[\”on_update\”] = array(function($data) use ($cols, $g) { // Llamamos a la función para realizar las actualizaciones según la tabla actualizarPorTabla($data, $cols, $g); }, null, true); $g->set_events($e);
stop-update-with-on_update
Your Answer