query("SELECT * FROM landing_pages WHERE id=".$landing_id)->fetch_assoc(); if (!$landing) { die('Landing no existe'); } $msg = $err = ''; $action = $_GET['action'] ?? ''; $id = (int)($_GET['id'] ?? 0); function to_mysql_dt($s) { // recibe "YYYY-MM-DDTHH:MM" y devuelve "YYYY-MM-DD HH:MM:00" o NULL $s = trim((string)$s); if ($s === '') return null; $s = str_replace('T',' ',$s); if (preg_match('/^\d{4}-\d{2}-\d{2} \d{2}:\d{2}/',$s)) return $s.':00'; return null; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $sid = (int)($_POST['id'] ?? 0); $start= to_mysql_dt($_POST['start_at'] ?? ''); $end = to_mysql_dt($_POST['end_at'] ?? ''); $estado = $_POST['estado'] ?? 'programada'; if (!in_array($estado, ['programada','activa','finalizada'], true)) { $err = 'Estado inválido.'; } else { try { if ($sid > 0) { $st = $conn->prepare("UPDATE landing_schedule SET start_at=?, end_at=?, estado=? WHERE id=? AND landing_id=?"); $st->bind_param("sssii", $start, $end, $estado, $sid, $landing_id); $st->execute(); $msg = 'Rango actualizado.'; } else { $st = $conn->prepare("INSERT INTO landing_schedule (landing_id,start_at,end_at,estado) VALUES (?,?,?,?)"); $st->bind_param("isss", $landing_id, $start, $end, $estado); $st->execute(); $msg = 'Rango creado.'; } } catch (Throwable $e) { $err = $e->getMessage(); } } } if ($action === 'delete' && $id > 0) { try { $st = $conn->prepare("DELETE FROM landing_schedule WHERE id=? AND landing_id=?"); $st->bind_param("ii", $id, $landing_id); $st->execute(); $msg = 'Rango eliminado.'; } catch (Throwable $e) { $err = $e->getMessage(); } $id = 0; } $edit = null; if ($action === 'edit' && $id > 0) { $st = $conn->prepare("SELECT * FROM landing_schedule WHERE id=? AND landing_id=?"); $st->bind_param("ii", $id, $landing_id); $st->execute(); $edit = $st->get_result()->fetch_assoc(); } $list = $conn->query("SELECT * FROM landing_schedule WHERE landing_id=".$landing_id." ORDER BY start_at ASC, id ASC"); // helpers para mostrar en datetime-local function to_input_dt($s) { if (!$s) return ''; $s = str_replace(' ', 'T', substr($s,0,16)); return $s; } ?> Landing: Schedule
← Volver a Landings

Landing:

fetch_assoc()): ?>
IDInicioFinEstadoAcciones
Editar Eliminar