PHP - Problema para eliminar registros de una tabla mysql con PHP

 
Vista:
Imágen de perfil de María de Alejandría
Val: 66
Ha aumentado su posición en 4 puestos en PHP (en relación al último mes)
Gráfica de PHP

Problema para eliminar registros de una tabla mysql con PHP

Publicado por María de Alejandría (37 intervenciones) el 23/10/2017 18:49:34
Saludos

Cuento con un formulario desplegable donde selecciono la fecha correspondiente a la cita que deseo eliminar. Las citas se encuentran en una tabla MySQL contando con los siguientes atributos: Fecha, hora, motivos y usuario, este último atributo se corresponde con el email empleado para iniciar sesión.

La cuestión es que no logro eliminar la cita que selecciono en el formulario. Este es mi código:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?php
$email=$_SESSION['email'];
$fecha=$_POST['fecha'];
 
 
$mysqli = mysqli_connect("localhost","root","password","base de datos");
 
if (!$mysqli) {
 
	echo 'No se pudo establecer la conexión con la base de datos';
}
else{
 
	$consulta="DELETE FROM citas WHERE (fecha='$fecha') AND (usuario='$email')";
 
	if(!mysqli_query($mysqli,$consulta)){
		echo ' <script language="javascript">alert("Error, no se han podido eliminar los datos");</script> ';
 
	}
	else{
		echo ' <script language="javascript">alert("Cita eliminada con éxito");</script> ';
	}
}
?>


Dejo el código del formulario desplegable por si es necesario:

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
<!DOCTYPE HTML>
 
<?php
session_start();
 
?>
 
<html>
	<head>
		<title>Registro de Citas centro de salud</title>
 
	</head>
<body>
 
<td>
<select>
<body>
  <div align="center">
   <h1>Eliminar cita</h1>
 
<p>Fecha de cita:
 
   <select>
 
<?php
 
    error_reporting(E_ALL);
    ini_set('display_errors', 1);
 
    $email=$_SESSION['email'];
    // Conectar a la base de datos
    $db = new mysqli('localhost', 'root', 'password', 'base de datos');
 
    if($db->connect_errno > 0)
    {
		die('No se puede conectar a la base de datos [' . $db->connect_error . ']');
    }
?>
 
<html>
 
<body>
  <div align="center">
    <p>Seleccione la fecha de la cita que desea eliminar</p>
    <p>Citas:
      <select  name="fecha">
       <option>Seleccione:</option>
        <?php
		$sql="SELECT fecha FROM citas WHERE usuario ='$email'";
        $query = $db->query($sql);
 
		if($query->num_rows == 0)
		{
			echo 'No hay resultados';
		}
		else{
 
	        while ($row=$query->fetch_array(MYSQLI_ASSOC)) {
		        echo '<option value="'.$row['usuario'].'">'.$row['fecha'].'</option>';
	        }
		}
        ?>
      </select>
     <button class="button" type="submit" name="submit">Enviar</button>
    </p>
  </div>
</body>
 
</form>
<?php
 
if(isset($_POST['submit'])){
 
	require("eliminarcita.php");//Código enviado en primer lugar
}
?>
</fieldset>
 
</section
</html>

Gracias de antemano
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: 729
Bronce
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Problema para eliminar registros de una tabla mysql con PHP

Publicado por Gonzalo (615 intervenciones) el 23/10/2017 20:35:10
tal vez el problema es el formato de fecha que estas usando, verifica el formato de fecha en la base de datos y la fecha que estas pasando como parametro.

despues verifica el query para ver como recibio la fecha

echo($consulta);

asi vas a ver como esta interpretando la fecha, si pasaste la fecha como numero entonces vas a ver un query asi

DELETE FROM citas WHERE (fecha='1234.5678) AND (usuario='[email protected]')

y por ultimo, algunos motores de bases de datos guardan la fecha incluyendo la hora, asi que seria buena idea manar borrar desde las 0:00 hasta las 23:59:59 de ese dia.

has el intento y comentanos.


Una contradiccion sucede cuando se dice algo que va en contra de algo ya establecido, la tehoria de Einstein (fusion) esta basada en la division del Atomo, pero la palabra Atomo significa "Indivisible", lo cual nos dice que esa tehoria es en realidad una contradiccion, tal vez por eso exploto la bomba.
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