getConnection(); $row = $pdo->query("SELECT esquema FROM lab_formularios WHERE id = 15 LIMIT 1")->fetch(PDO::FETCH_ASSOC); if (!$row) { die('Formulario id=15 no encontrado.'); } $esquema = json_decode($row['esquema'], true); if (!is_array($esquema)) { die('Esquema inválido.'); } // Obtener opciones del selector de examen $examOptions = []; foreach ($esquema as $c) { if (($c['id'] ?? '') === '_c8j2g16') { $examOptions = $c['options'] ?? []; break; } } if (empty($examOptions)) { die('No se encontraron tipos de examen en _c8j2g16.'); } $restaurados = 0; foreach ($esquema as &$campo) { if (($campo['tipo'] ?? '') !== 'separador') continue; if (isset($campo['condicion'])) continue; // ya tiene condicion $label = $campo['label'] ?? ''; $prefix = trim(explode('·', $label)[0] ?? ''); if (!$prefix) continue; // Buscar si el prefijo corresponde exactamente a un tipo de examen if (in_array($prefix, $examOptions, true)) { $campo['condicion'] = [ 'campo_id' => '_c8j2g16', 'valores' => [$prefix], ]; $restaurados++; } } unset($campo); $pdo->prepare("UPDATE lab_formularios SET esquema = ? WHERE id = 15") ->execute([json_encode($esquema, JSON_UNESCAPED_UNICODE)]); @unlink(__FILE__); echo '

✅ Condiciones restauradas

' . $restaurados . ' separadores actualizados con condicion sobre _c8j2g16.
Tipos de examen encontrados: ' . implode(', ', array_map('htmlspecialchars', $examOptions)) . '

Este archivo fue eliminado automáticamente.

← Volver a Formularios

';