Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Problema con IF y CONSULTA UPDATE

Estas en el tema de Problema con IF y CONSULTA UPDATE en el foro de PHP en Foros del Web. Buen dia.... alguien que me apoye con este problema.... Resulta que tengo este código para actualizar un area, y si el nuevo nombre ya existe ...
  #1 (permalink)  
Antiguo 03/10/2015, 13:31
 
Fecha de Ingreso: septiembre-2015
Ubicación: Colima
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 1
Pregunta Problema con IF y CONSULTA UPDATE

Buen dia.... alguien que me apoye con este problema....

Resulta que tengo este código para actualizar un area, y si el nuevo nombre ya existe debe mandar un mensaje de que ya existe y no hacer la actualizacion, y si no existe, este se actualiza y manda un mensaje de Exito, pero siempre me manda el mensaje de que existe aunque no exista pero lo actualiza. Al parecer la consulta esta haciando que se brinque al ELSE. Pero no se porqué

Jquery
Código:
$('#actualizarAreaBtn').on('click',function(){
  var id = $('#idInput').val();
  var area = $('#areaMInput').val();
  if (area.length<=0) {
   $('#mensajeError').html('<p class="alert-danger"> El campo no debe estar vacio</p>');
  } else {
   $('#modalModificarArea').modal('hide');
   $.ajax({
    type: 'POST',
    encoding: 'UTF-8',
    data: 'token=valid&accion=modificar&id='+id+'&area='+area,
    url: 'modulos/php_ajax/accionAreas.php',
    success: function(data){
     $('#tablaAreas').html(data);
    }
   });//Fin ajax actualizar area
  }
 });//FIN Funcion para actualizar
PHP
Código PHP:
//Validamos si la accion es modificar
 
if(isset($_POST['accion']) and ($_POST['accion']=="modificar")){
  
$area strtoupper($_POST['area']);
  
$id $_POST['id'];
  
$existe2 mysqli_query($conexion,"SELECT * FROM areas WHERE area='$area'");
  
$num mysqli_num_rows($existe2); 
  if (
$num<=0){
    
$mensaje "<p class='alert-success' align='center'> EXITO: &aacute;rea actualizada $area</p>";  
    
$modificar mysqli_query($conexion,"UPDATE areas SET area='$area' WHERE id_area='$id'");
    
$desc "MODIFICACION DE AREA ".$area;
    
$bitacora mysqli_query($conexion,"INSERT INTO bitacora (usuario,fecha,descripcion) VALUES ('$user','$fecha','$desc')");
  } else{
    
$mensaje "<p class='alert-danger' align='center'> El &aacute;rea $area ya existe no se puede modificar</p>";
  }
//FIN IF para modificar area 
  #2 (permalink)  
Antiguo 04/10/2015, 21:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 14 años, 7 meses
Puntos: 214
Respuesta: Problema con IF y CONSULTA UPDATE


<saludo>

A ver sí entiendo lo que pasa.

Ej, Areas:
Id 1 con area 'area1',
Id 2 con area 'area2',
Id 3 con area 'area3',

Ahora, supongamos que en el formulario tengo 'area1' (con id 1)
Sin embargo, digito 'area3' y envió el formulario.

Al llegar al proceso, buscará si existe el 'area3', cosa que se cumple,
y por ende dirá que el área ya existe y no se puede modificar.

Sí vuelvo al formulario y teniendo 'area1' pero digito 'area4' y envio,
entonces tendré el mensaje de EXITO , y el area con id 1 se actualizará
y ahora será 'area4'

Teniendo en cuenta el ejemplo anterior, sí hay areas repetidas
en nombre, y se quiere cambiar una distinta con el nombre de una
existente, siempre dirá que no se puede modificar, a menos que
en la condición del select se agregue el id enviado, filtrando así
los demás posibles resultados.

Creo que el asunto es más de lógica, revisa eso y nos cuentas.

</saludo>
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #3 (permalink)  
Antiguo 06/10/2015, 16:26
 
Fecha de Ingreso: septiembre-2015
Ubicación: Colima
Mensajes: 4
Antigüedad: 8 años, 6 meses
Puntos: 1
Respuesta: Problema con IF y CONSULTA UPDATE

Gracias mortiprogramador.
Encontré la solución, lo que pasa es que el código de la Funcion jquery

$('#actualizarAreaBtn').on('click', .....

Lo tenia repetido en dos archivos JS, por tanto se ejecutaba doble la función... por eso si me actualizaba pero tambien me decia que ya existia...

Es una larga historia.. por un descuido mío..

Saliudos

Etiquetas: mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:15.