PHP - Error al actualizar dato en MYSQL con uso de Condicional PHP

 
Vista:
Imágen de perfil de Suriel
Val: 38
Ha disminuido su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al actualizar dato en MYSQL con uso de Condicional PHP

Publicado por Suriel (14 intervenciones) el 05/02/2020 22:48:05
Hola a todos, esto tratando de actualizar un campo en una BDD de mysql con ayuda de una conficional IF, ELSE en PHP, la situación es simple:

Si el campo contiene un "Si" lo debe actualizar a "No" y si el campo contiene un "No" lo debe actualizar a "Si".

El problema es YA LOGRO convertir de "Si a No" pero de "No a Si" no puedo, es decir hacer la operación contraria. Estoy pensando que mi condición esta mal estructurada, pero no logro ver ¿POR QUÉ?

Gracias por su apoyo.

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
<?php
$id_empresa = $_GET['id_empresa'];
 
$conn = mysqli_connect("localhost", "root", "mypsw", "mydbname");
$conn -> set_charset("utf8");
 
$sql = "SELECT * FROM registros";
$resultado = $conn->query($sql);
 
while($row = $resultado->fetch_array(MYSQLI_ASSOC)) {
$row['id_empresa'];
if($row['activo'] =='Si'){
        $activoNo = "No";
		$sentencia="UPDATE registros SET activo='$activoNo' where id_empresa ='$id_empresa'";
		$conn->query($sentencia)or die ("Error al actualizar datos".mysqli_error($conn));
 
		echo '<script type="text/javascript">
	          alert("Empresa Modificada Éxitosamente");
	          window.location.href="admin.php";
               </script>';
 
	}elseif($row['activo']=='No'){
		$activoSi = "Si";
		$sentencia="UPDATE registros SET activo='$activoSi' where id_empresa ='$id_empresa'";
		$conn->query($sentencia)or die ("Error al actualizar datos".mysqli_error($conn));
 
		echo '<script type="text/javascript">
	          alert("Empresa Modificada Éxitosamente");
	          window.location.href="admin.php";
               </script>';
 
	}else{
		echo'<script type="text/javascript">
	           alert("Error al modificar");
	           window.location.href="admin.php";
             </script>';
	}
}
?>
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: 1.658
Plata
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al actualizar dato en MYSQL con uso de Condicional PHP

Publicado por Julio (488 intervenciones) el 05/02/2020 22:59:02
Hola.

¿No puedes cambiar el dato de la base de datos y colocar un 1 o un 0 si quieres que sea un sí o un no? Será más sencillo de tratar.

De todas formas, coloca un var_dump($row['activo']); justo después de la línea 11, antes de entrar al if, y mira a ver qué dato hay realmente ahí.

-----------------------------
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
Imágen de perfil de Suriel
Val: 38
Ha disminuido su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al actualizar dato en MYSQL con uso de Condicional PHP

Publicado por Suriel (14 intervenciones) el 05/02/2020 23:11:40
@Julio lo que imprime es
1
string(2) "Si"
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: 1.658
Plata
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al actualizar dato en MYSQL con uso de Condicional PHP

Publicado por Julio (488 intervenciones) el 06/02/2020 00:11:17
Hola.

¿En todos los casos imprime un "Si"?

-----------------------------
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
Imágen de perfil de Suriel
Val: 38
Ha disminuido su posición en 5 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al actualizar dato en MYSQL con uso de Condicional PHP

Publicado por Suriel (14 intervenciones) el 06/02/2020 20:49:44
Asi es, despues de actualizar a "no", trato de regresarlo pero no cambia a "si" y solo me muestra ese mensaje.
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: 1.658
Plata
Ha aumentado su posición en 2 puestos en PHP (en relación al último mes)
Gráfica de PHP

Error al actualizar dato en MYSQL con uso de Condicional PHP

Publicado por Julio (488 intervenciones) el 06/02/2020 21:27:47
Hola.

A ver, si colocando el var_dump($row['activo']) después de la línea 11 ves que siempre te está devolviendo un "Si", es que nunca encuentra un "No" y, por tanto, no va a entrar nunca en la condición del if que cambia del no al sí. Por tanto, algo falla cuando estás actualizando los datos en la base de datos si es que siempre encuentra un "Si".

-----------------------------
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