Foros del Web » Programando para Internet » PHP »

No consigo que la función reservar mesa me cambie la imagen

Estas en el tema de No consigo que la función reservar mesa me cambie la imagen en el foro de PHP en Foros del Web. Buenas intento que me código cambie la src de una imagen pero que antes haga una consulta con $.post a una base de datos donde ...
  #1 (permalink)  
Antiguo 06/07/2013, 09:26
 
Fecha de Ingreso: julio-2013
Ubicación: Madrid
Mensajes: 13
Antigüedad: 10 años, 9 meses
Puntos: 0
No consigo que la función reservar mesa me cambie la imagen

Buenas intento que me código cambie la src de una imagen pero que antes haga una consulta con $.post a una base de datos donde coge el valor del estado de la mesa que es TINYINT y si es 0(ocupada) lo cambia 1(disponible) y si es 1 lo cambia a 0, y devuelve el estado final que recoge la función $.post y en función de la condición de si esta disponible le cambia la src y si esta ocupada le pone otra src.

este es mi código de html:
Código HTML:
Ver original
  1. <!doctype html>
  2. <html lang="en">
  3.     <meta charset="UTF-8">
  4.     <title>Reservas</title>
  5. </head>
  6.  
  7.     <h1>Reservar</h1>
  8.    
  9.  
  10.    
  11.        
  12.         <img id="mesa1" src="../img/seats_blue.png" alt="mesa" onclick="reservar_mesa($(this),$(this).attr('id'))">
  13.        
  14.  
  15.     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
  16.  
  17.     <script>
  18.    
  19.     function reservar_mesa(img,id){
  20.  
  21.         // recibe dos variables el objeto en si y el atributo id que sera el que enviemos por post
  22.        
  23.         var datos = "id_mesa="+id;
  24.  
  25.         var url = "../reservar_mesa.php";
  26.         $.post(url, datos, function(estado){
  27.            
  28.             if(estado === "ocupada"){ // si devuelve ocupada cambiamos la imagen a roja
  29.                 img.attr('src', '../img/seats_red.png');
  30.             } else{               //si devuelve disponible cambiamos la imagen a azul
  31.                 img.attr('src', '../img/seats_blue.png');
  32.             }
  33.         });
  34.     }
  35.  
  36.     </script>
  37. </html>

Y este es mi código de php:
Código PHP:
Ver original
  1. <?php
  2. require_once "inc/config.inc.php";
  3.  
  4.  
  5. if($_REQUEST['id_mesa']){            //recibo la variable a traves de request
  6.     $id_mesa = $_REQUEST['id_mesa'];
  7.  
  8.     $mysqli = new mysqli($config['DB_HOST'], $config['DB_USER'], $config['DB_PASS'], $config['DB']);  // me conecto a la base de datos
  9.  
  10.     if (mysqli_connect_errno()) {   //compruebo que no haya errores en la conexion.
  11.         printf("Conexion fallida: %s\n", mysqli_connect_error());
  12.         exit();
  13.     }
  14.  
  15.     $sql = "SELECT estado FROM mesas  WHERE id_mesa = '$id_mesa'";  // selecciono el estado de la mesa clickeada
  16.  
  17.     if ($resultado = $mysqli -> query($sql)) {  // condicion para comprobar que la consulta se este dando
  18.  
  19.             $fila = $resultado -> fetch_assoc();  // guardo en unarray los resultados
  20.             $estado  =  $fila['estado'];  // guardo el estado de la mesa
  21.  
  22.            
  23.  
  24.             if($estado){  // si el estado es true o 1 lo cambio a 0 y devuelvo el estado final
  25.                 $consulta = $mysqli -> query ("UPDATE  mesas SET estado = '0' WHERE id_mesa = '$id_mesa'");
  26.                
  27.                 $estado_final = "ocupada";
  28.             } else {  // si el estado es false o 0 lo cambio a 1 y devuelvo el estado final
  29.                 $consulta = $mysqli -> query ("UPDATE  mesas SET estado = '1' WHERE id_mesa = '$id_mesa'");
  30.            
  31.                 $estado_final = "disponible";
  32.             }
  33.                 echo $estado_final; // devuelvo el estado final
  34.  
  35.         }   else{
  36.             echo "Fallo en la primera consulta";
  37.         }
  38.  
  39.        
  40.     } else{
  41.         echo "No has seleccionado mesa";
  42.     }
  43.  
  44.  ?>
  #2 (permalink)  
Antiguo 06/07/2013, 12:42
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: No consigo que la función reservar mesa me cambie la imagen

Consulta un foro JS o Ajax.
__________________
Fere libenter homines, id quod volunt, credunt.

Etiquetas: php+ajax
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 22:52.