PHP - No permitir que se repita una cita medica

 
Vista:

No permitir que se repita una cita medica

Publicado por JOse (8 intervenciones) el 25/04/2020 23:02:47
Es un codigo de una book de citas medicas,

Necesito que si una cita esta repetida me de error y me salga el alerta alert("Error al agregar, Cita Repetida!");

Aca esta el codigo

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
 
$rx = ReservationData::getRepeated($_POST["pacient_id"],$_POST["medic_id"],$_POST["date_at"],$_POST["time_at"]);
if($rx==null){
$r = new ReservationData();
$r->no = $_POST["no"];
$r->title = $_POST["title"];
$r->note = $_POST["note"];
$r->pacient_id = $_POST["pacient_id"];
$r->medic_id = $_POST["medic_id"];
$r->date_at = $_POST["date_at"];
$r->time_at = $_POST["time_at"];
$r->user_id = $_SESSION["user_id"];
 
$r->status_id = $_POST["status_id"];
$r->payment_id = $_POST["payment_id"];
$r->price = $_POST["price"];
$r->sick = $_POST["sick"];
$r->symtoms = $_POST["symtoms"];
$r->medicaments = $_POST["medicaments"];
 
 
$r->add();
 
//Core::alert("Agregado exitosamente!");
}else{
Core::alert("Error al agregar, Cita Repetida!");
}
Core::redir("./index.php?view=reservations");
?>
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 25/04/2020 23:04:26
Hola.

¿Y dónde tienes el problema exactamente?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jose (8 intervenciones) el 25/04/2020 23:27:30
El problema esta que no me da el alerta de Cita Repetida cuando grabo otra cita a la misma hora, el mismo día y para el mismo medico de una cita que ya esta.

Nose como hacerlo para que funcione, quiero que me avise que ya hay una cita ese dia.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 25/04/2020 23:34:14
¿Y qué tienes exactamente en $rx cuando la cita es repetida?

Por cierto, hay una función para comparar si es null, es is_null.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jose (8 intervenciones) el 25/04/2020 23:43:48
rx tiene nombre del paciente, medico, dia y hora de la cita.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 25/04/2020 23:46:12
Ya bueno, no me refería a eso, perdona. Me refería a que, cuando está repetido, ¿qué devuelve getRepeated? ¿Y qué devuelve cuando no está repetido?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jose (8 intervenciones) el 25/04/2020 23:49:05
Si esta repetido que me devuelva el alerta de cita repetida y no me deje continuar.
Y si no esta repetido que deje agregar los nuevos datos de la cita y continue el proceso.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 25/04/2020 23:51:20
No me has entendido aún, jeje.

1
$rx = ReservationData::getRepeated($_POST["pacient_id"],$_POST["medic_id"],$_POST["date_at"],$_POST["time_at"]);

¿Qué hay en $rx después de hacer este paso cuando está repetido y cuando no está repetido?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jose (8 intervenciones) el 25/04/2020 23:55:00
Los datos del formulario que llene anteriormente, ue seria la nueva cita.

Paciente, medico, hora, dia.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 25/04/2020 23:59:18
Pon después del else lo siguiente:

1
echo "Pasa"; die;

Cuando pones una cita repetida, ¿te imprime "Pasa" por pantalla?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jose (8 intervenciones) el 26/04/2020 00:02:00
Perdon no te entiendo
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 26/04/2020 00:06:20
A ver, en primer lugar, ¿el código es tuyo o de algún sitio? Más que nada porque no sé qué sabes de PHP. Por tanto, lo haremos más fácil. Ejecuta ésto:

1
2
3
4
5
6
7
8
9
10
<?php
 
$rx = ReservationData::getRepeated($_POST["pacient_id"],$_POST["medic_id"],$_POST["date_at"],$_POST["time_at"]);
 
if(is_null($rx)) {
    echo "rx nulo, no hay fecha repetida";
} else {
    echo "hay rx, o sea, ya hay fecha";
}
die;

¿Qué mensaje te imprime por pantalla?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jo (8 intervenciones) el 27/04/2020 16:02:51
El codigo no es mio, mi manejo de php es basico... te cuento lo que necesito:

El codigo tiene que hacer lo sig.:

1. Verificar que el medico ese dia y horario no esta ocupado con otra cita de otro paciente...
1. a) Si esta ocupado, mostrar error de medico ocupado.
1. b) Si no esta ocupado, crear la cita del paciente nuevo.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 27/04/2020 16:35:04
Sí, eso lo había entendido. ¿Has probado el código que te puse en el mensaje anterior para ver qué resultado te muestra?

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jose (1 intervención) el 27/04/2020 16:38:14
Disculpa, donde podria eso? Me lo podrias pasar dentro del completo si no es mucha molestia?

Para ver como quedaria.
Muchas gracias por tu predisposición, estoy muy agradecido no importa cual sea el final de todo esto.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 27/04/2020 16:40:33
En todo..., lo que te comento es que sustituyas todo lo que has puesto por el código que te he pasado para ver cuál de los dos mensajes imprime por pantalla.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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

No permitir que se repita una cita medica

Publicado por Jose (8 intervenciones) el 27/04/2020 17:20:33
Lo probe y no va lamentablemente.
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
Imágen de perfil de Julio
Val: 2.007
Plata
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

No permitir que se repita una cita medica

Publicado por Julio (830 intervenciones) el 27/04/2020 17:31:38
¿No te imprime ningún mensaje? Entonces parece que el error no está ahí... Prueba a quitar eso y colocar esto:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
 
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
 
$rx = ReservationData::getRepeated($_POST["pacient_id"],$_POST["medic_id"],$_POST["date_at"],$_POST["time_at"]);
 
var_dump($rx);
if (is_null($rx)) {
    echo "rx nulo, no hay fecha repetida";
} else {
    echo "hay rx, o sea, ya hay fecha";
}
die;

Colócalo tal cual y copia lo que te imprima por pantalla a ver.

-----------------------------
Aprende la programación desde una perspectiva básica y simplista en Programación Básica
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