LANIA_Proyecto/carpeta_temporal/script_base_datos/inserts-prueba.php

68 lines
2.3 KiB
PHP

<?php
require_once __DIR__ . "/../../config/Database.php";
if ($_SERVER['REQUEST_METHOD'] === 'GET' && isset($_GET['n'])){
$numero_inserts = intval($_GET['n']);
if ($numero_inserts <= 0) {
echo "El número de inserts debe ser un entero positivo.";
exit;
}
// Configuración de rangos para campos aleatorios
$id_examen_min = 1;
$id_examen_max = 15;
$id_tipo_id_min = 1;
$id_tipo_id_max = 7;
$id_rango_edad_min = 1;
$id_rango_edad_max = 7;
$id_genero_min = 1;
$id_genero_max = 3;
$conn = Database::getInstance();
$conn->begin_transaction();
try {
for ($i = 1; $i <= $numero_inserts; $i++) {
$nombres = "Nombre" . $i;
$primer_apellido = "ApellidoP" . $i;
$segundo_apellido = "ApellidoM" . $i;
$correo = "correo" . $i . "@gmail.com";
$fecha_entrada = date('Y-m-d H:i:s');
// fecha_salida es NULL por defecto en la tabla, o se puede especificar como NULL
$telefono = '';
for ($j = 0; $j < 10; $j++) {
$telefono .= rand(0, 9);
}
$id_examen = rand($id_examen_min, $id_examen_max);
$id_tipo_id = rand($id_tipo_id_min, $id_tipo_id_max);
$id_rango_edad = rand($id_rango_edad_min, $id_rango_edad_max);
$id_genero = rand($id_genero_min, $id_genero_max);
$sql = "INSERT INTO candidato (fecha_entrada, nombres, primer_apellido, segundo_apellido, correo, telefono, id_examen, id_tipo_id, id_rango_edad, id_genero)
VALUES ('{$fecha_entrada}', '{$nombres}', '{$primer_apellido}', '{$segundo_apellido}', '{$correo}', '{$telefono}', {$id_examen}, {$id_tipo_id}, {$id_rango_edad}, {$id_genero})";
if (!$conn->query($sql)) {
throw new Exception("Error al insertar el registro {$i}: " . $conn->error);
}
}
$conn->commit();
echo "Se han insertado {$numero_inserts} registros exitosamente.";
} catch (Exception $e) {
$conn->rollback();
echo "Error en la transacción: " . $e->getMessage();
} finally {
$conn->close();
}
} else {
echo "Parámetros incorrectos. Asegúrate de pasar 'n' como parámetro GET con un número entero.";
}
?>