Pregunta:
Fecha: 29-05-2015 04:58:32
(En Español)
Esto es lo que tengo:
$mensaje = "Nombre: $nombre\n\n";
$mensaje .= "Correo: $correo\n\n";
$mensaje .= "Apellido: $apellido\n\n";
$mensaje .= "Horario: $horario\n\n";
$mensaje .= "Telefono: $telefono\n\n";
$mensaje .= "Fecha: $fecha\n\n";
Los campos que no quiero que se repitan son la fecha y horario, que cuando el usuario entre la misma fecha y el mismo horario le diga que ya están tomados.
Gracias si me pueden ayudar en esto. Votos: 0 - Respuestas: 4 - Vistas: 18 Compartir en: Google Facebook Twitter LinkedIn Link
Como validar dos campos para que la información no se repita en la base de datos.[Resuelta]
Hola, soy nuevo en esto de la programación y quisiera saber como validar dos campos para que la información no se repita en la base de datos.Esto es lo que tengo:
$mensaje = "Nombre: $nombre\n\n";
$mensaje .= "Correo: $correo\n\n";
$mensaje .= "Apellido: $apellido\n\n";
$mensaje .= "Horario: $horario\n\n";
$mensaje .= "Telefono: $telefono\n\n";
$mensaje .= "Fecha: $fecha\n\n";
Los campos que no quiero que se repitan son la fecha y horario, que cuando el usuario entre la misma fecha y el mismo horario le diga que ya están tomados.
Gracias si me pueden ayudar en esto. Votos: 0 - Respuestas: 4 - Vistas: 18 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 29-05-2015 07:22:15 Hola Juan,
Hay varios acercamientos que puedes tomar.
Te voy a dar un ejemplo que aplica para la capa de base de datos y para la aplicación.
1. Obviamente quieres proteger tu base de datos y que no hayan registros con una fecha y hora repetida, para esto yo sencillamente pondría un índice del tipo UNIQUE sobre estos dos campos y con eso ya garantizas que la base de datos no aceptará datos repetidos.
2. A nivel de aplicación puedes hacer un query que te devuelva el número de registros para la tupla fecha-horario, si tu resultado es cero procedes al siguiente paso de tu lógica, si es cualquier otro entero positivo entonces cancelas.
SELECT COUNT(*) FROM [tabla] WHERE fecha = [valorFecha] AND hora = [valorHora] Votos: 0 - Link respuesta -
Fecha: 29-05-2015 08:29:53 Ok. buena explicación, ahora como hago para devolver un mensaje diciendo que la fecha ya esta domada, porque el que hice no me funciona. Votos: 0 - Link respuesta
-
Fecha: 29-05-2015 08:53:41 De manera muy burda y a manera de ejemplo:
$returnMessage = ''; //La variable countResult contiene el resultado del query que te mencioné anteriormente if($countResult>0){ $returnMessage = 'Ese espacio ya está ocupado, favor de seleccionar otro.'; } else{ //Tu lógica normal $returnMessage = 'Hora reservada. Gracias!'; } echo $returnMessage;Votos: 0 - Link respuesta -
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
