PHP - Problema consulta MYSQL

 
Vista:

Problema consulta MYSQL

Publicado por Miguel Ángel (4 intervenciones) el 25/02/2017 15:05:42
Buenas y un saludo!

Les comento.. Tengo hecho un calendario en el que puedes seleccionar una hora y la fecha y demás.
En esta imagen podeis ver la estructura de mi tabla de la base de datos.

http://imgur.com/a/stB5d

Todo funcionaba correctamente hasta que un dia derrepente fuí a comprobarlo todo y me falla esta consulta de mas abajo dandome siempre que la hora no esta disponible debido que creo que solo comprueba el campo de la hora y no la fecha.

Quiero comprobar que la hora que he seleccionado en el formulario anterior a esta pagina no esta seleccionada ya.
Y esto comprueba nada mas la hora. Cuando creo que deberia comprobar si existe una hora igual a la que he introducido en el formulario en el dia en el que estamos.

1- No entiendo como este codigo me funcionaba antes y derrepente no.
2-¿Alguna manera de solucionar mi problema? Solo quiero comprobar que los datos de los post no esten ya registrados en la base de datos.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$horaDeCita=$_POST["hora"].":".$_POST["minutos"];
 $fechaEnCurso= $_POST['fechaEnCurso'];
 
if ( $mysqli->connect_errno )
	{
		die( $mysqli->mysqli_connect_error() );
	}
 
	$result = $mysqli->query("SELECT * FROM citas WHERE horacita='". $horaDeCita."'");
 
      if ($result->num_rows > 0){
	  Core::alert("La hora que has seleccionado no esta disponible");
 
 
 }
 
 else{
 AÑADO LOS DATOS A LA BASE DE DATOS ETC...
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema consulta MYSQL

Publicado por Miguel (218 intervenciones) el 25/02/2017 15:43:34
No te ayudaría agregar un 'AND' a tu consulta?...

Yo lo haría algo así:

1
2
3
$sql = "SELECT COUNT(*) FROM citas WHERE diaCita='$fechaEnCurso' AND horaCita='$horaDeCita'; ";
// ejecutar consulta
// el valor de la primera columna y fila corresponden a la cantidad de citas programadas para ese día y hora (debería ser como máximo 1)


EDIT:
Tienes que tomar en cuenta el inicio y duración de las citas, se te facilitaría si fueran de 1 hora y comenzaran a la hora "en punto"; esto yo lo validaría tanto en el lado del cliente como del servidor, así evitarás que por ejemplo en un día se agregue una cita para las 12:00 y otra para las 12:05.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar

Problema consulta MYSQL

Publicado por Miguel Ángel (4 intervenciones) el 25/02/2017 16:16:20
Buenas! Muchas Gracias! Me traía de cabeza y no veas xD ya probé con el AND pero me daba error! Con tu simple linea de codigo problema solucionado! O.o
Muchas Gracias!!
PD: Las horas están capadas, los clientes solo puden seleccionar horas desde las 9 y 30 hasta la 13:30 y por la tarde lo mismo de 17:00 a 20:30!




Saludos :P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 604
Bronce
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Problema consulta MYSQL

Publicado por Miguel (218 intervenciones) el 25/02/2017 17:12:40
Que bien, un gusto.

Saludos!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar