Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Consulta Update no actualiza (Algo mal en php)

Estas en el tema de Consulta Update no actualiza (Algo mal en php) en el foro de PHP en Foros del Web. Buenas, el código es simple, hay un campo en la db para habilitar (1) y deshabilitar(0) registros. Tengo el mismo código en otra seccion y ...
  #1 (permalink)  
Antiguo 21/11/2014, 09:57
 
Fecha de Ingreso: noviembre-2014
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Exclamación Consulta Update no actualiza (Algo mal en php)

Buenas, el código es simple, hay un campo en la db para habilitar (1) y deshabilitar(0) registros.

Tengo el mismo código en otra seccion y me funciona genial. pero acá no...

-ya investigué y verifiqué que no haya codigo que este interfiriendo antes, (borre todo lo anterior y nada).
-La base de datos conecta perfecto y los nombres de los campos son válidos (int longitud:1)
-Probe dejar solo una actualizacion y funciona , osea habilito o deshabilito (solo un if). pero con los 2 no, me hace un quilombo.
-La consulta mysql llega perfecto, probe con un echo la imprime bien y la ejecuta bien (en phpmyadmin directamente)



Código PHP:
Ver original
  1. <?php
  2. $permisoPub=addslashes(htmlentities(strip_tags($_GET['acceso'])));
  3. $permisoCheckP=mysql_query("SELECT * FROM tblPublicaciones WHERE id='$permisoPub'");
  4.  
  5. if(isset($permisoPub) and !empty($permisoPub)){
  6.                 if($controlPermisos=mysql_fetch_array($permisoCheckP)){
  7.                 echo $controlPermisos['habilitadoPublicacion'].'--'.$permisoPub; //testeando :/
  8.                 $numPermiso=$controlPermisos['habilitadoPublicacion'];
  9.                     if($numPermiso==1){ // mensaje permiso
  10.                         @mysql_query("UPDATE tblPublicaciones SET habilitadoPublicacion='0' WHERE id='$permisoPub'") or die(mysql_error());
  11.                         ?>
  12.                         <div class="alert alert-success alert-dismissible" >
  13.                             Se ha deshabilitado la publicación correctamente.
  14.                             <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
  15.                         </div>
  16.                         <?php
  17.                     }elseif($numPermiso==0){ // mensaje permiso
  18.                         @mysql_query("UPDATE tblPublicaciones SET habilitadoPublicacion='1' WHERE id='$permisoPub'");
  19.                         ?>
  20.                         <div class="alert alert-success alert-dismissible" >
  21.                             Se ha habilitado la publicación correctamente.
  22.                             <button type="button" class="close" data-dismiss="alert"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button>
  23.                         </div>
  24.                         <?php
  25.                     }
  26.  
  27.                 }
  28. ?>
  29.             }


Luego reviso e imprimo el resultado de la siguiente manera:

Código PHP:
Ver original
  1. if($datosPublicacion['habilitadoPublicacion']==1){ // Estado acceso
  2.                             echo 'asd';
  3.                                     $estadoPublicacion = '<a href="?publicaciones&acceso='.$datosPublicacion['id'].$agregaPag.'" class="permiteAcceso"><span class="glyphicon glyphicon-tasks"></span> </a>';
  4.                                 }else{
  5.                                 echo 'no';
  6.                                     $estadoPublicacion = '<a href="?publicaciones&acceso='.$datosPublicacion['id'].$agregaPag.'" class="denegaAcceso"><span class="glyphicon glyphicon-tasks"></span> </a>';
  7.                                 }


si me pueden dar una mano se los agradecería, algo tan simple y me está comiendo la cabeza desde ayer.


Saludos

Última edición por flynnpaff; 21/11/2014 a las 10:06
  #2 (permalink)  
Antiguo 21/11/2014, 10:25
Avatar de andres_15_  
Fecha de Ingreso: septiembre-2008
Ubicación: Cali
Mensajes: 232
Antigüedad: 15 años, 7 meses
Puntos: 7
Respuesta: Consulta Update no actualiza (Algo mal en php)

Imprime estas dos variable para ver que contienen:

Código PHP:
Ver original
  1. $permisoPub=addslashes(htmlentities(strip_tags($_GET['acceso'])));
  2. $permisoCheckP=mysql_query("SELECT * FROM tblPublicaciones WHERE id='$permisoPub'");
  #3 (permalink)  
Antiguo 21/11/2014, 10:38
 
Fecha de Ingreso: noviembre-2014
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Consulta Update no actualiza (Algo mal en php)

$permisoPub , obviamente el id de la publicacion que esta con un hipervinculo.
Y la consulta devuelve "Resource id #91" el id cambia según el regsitro.


dejo un gif de lo que pasa, el primer ejemplo es lo que no me funciona, cuando paso a los usuarios es como devería de funcionar :S



Edito:

Usé este código para debbugear $result con la queery del update:

Código PHP:
Ver original
  1. if($result) {
  2.    if(mysql_affected_rows($result))
  3.    {
  4.       echo mysql_affected_rows($result) . " rows updated";
  5.    }
  6.    else
  7.    {
  8.        echo "No rows updated: <br />\n" . htmlspecialchars($sql);
  9.    }
  10. }
  11. else {
  12.    echo "ERROR";
  13. }

y no actualiza, devuelve : "No rows updated", pero la consulta ejecutada en phpmyadmin si,.

No es formulario por lo que no hay problemas con el method de eenvío. es un simple enlace con el id del registro.

No devuelve error mysql porque la consulta es correcta, pero no hace el update.

Última edición por flynnpaff; 21/11/2014 a las 10:48
  #4 (permalink)  
Antiguo 21/11/2014, 11:20
 
Fecha de Ingreso: noviembre-2014
Mensajes: 5
Antigüedad: 9 años, 5 meses
Puntos: 0
Respuesta: Consulta Update no actualiza (Algo mal en php)

NO me pregunten PORQUE, jaja pero el problema está con una ventana modal de bootstrap , de la opcion de al lado.

Si saco el bloque de html del modal, funciona de 10. estos problemas mágicos.... dios mio


Saludos

Etiquetas: html, mysql, registro, select, sql, update
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 18:49.