Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

231
Vistas
use la casilla de verificación con ajax para actualizar la base de datos

Entonces, trato de actualizar los campos en mi base de datos (id [int], status [boolean]) usando una casilla de verificación con Ajax. Esto debe hacerse sin actualizar la página y sin usar un botón de envío. He probado varios tutoriales y ninguno parece funcionar para mí. Para nombrar algunos: Ajax actualizando la base de datos cuando se marca una casilla de verificación , casilla de verificación al cambiar la llamada ajax , actualizar la base de datos con la casilla de verificación

Por favor, realmente necesito ayuda con esto, he estado en esto durante días. Este es mi intento de hacerlo:

índice.html

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script type="text/javascript" src="https://code.jquery.com/jquery-3.4.1.min.js"></script> <script src="jquery.min.js"></script> </head> <body> <input type="checkbox" name="action1" id="action1" title="Action 1" value="1"/> <script type="text/javascript"> $("#action1").change(function () { var value = $(this).val(); $.ajax({ type: "POST", url: "update.php", async: true, data: { action1: value // as you are getting in php $_POST['action1'] }, success: function (msg) { alert('Success'); if (msg != 'success') { alert('Fail'); } } }); }); </script> </body> </html>

actualizar.php

 <?php $servername = "localhost"; $username = "root"; $password = ""; $database = "api"; // Create connection $conn = new mysqli($servername, $username, $password, $database); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } //echo "Connected successfully"; if($_POST['action1']==1){ //as used variable name "value" in ajax post data $sql = "UPDATE toggle SET status = '1' WHERE id = '1'"; //query was incomplete and missing ";" echo 'success'; } else{ $sql = "UPDATE toggle SET status = '0' WHERE id = '1'"; // missing ";" echo 'success'; } $result=$conn->query($sql); ?>
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Su archivo de actualización devuelve "éxito" sin importar qué datos se le envíen. Pruébalo de esta manera:

índice.html

 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script src="https://code.jquery.com/jquery-3.6.0.min.js" integrity="sha256-/xUj+3OJU5yExlq6GSYGSHk7tPXikynS7ogEvDej/m4=" crossorigin="anonymous"></script> </head> <body> <input type="checkbox" name="action1" id="action1" title="Action 1" value="2"/>Action <script type="text/javascript"> $("#action1").change(function () { var value = $(this).val(); $.ajax({ type: "POST", url: "update.php", async: true, data: { action1: value // as you are getting in php $_POST['action1'] }, success: function (msg) { alert(msg); } }); }); </script> </body>

actualizar.php

 <?php $servername = "localhost"; $username = "root"; $password = ""; $database = "stackoverflow"; // Create connection $conn = new mysqli($servername, $username, $password, $database); // Check connection if ($conn->connect_error) { die("Connection failed: " . $conn->connect_error); } if($_POST['action1']==1){ $sql = "UPDATE toggle SET status = '1' WHERE id = '1'"; echo 'success'; } else{ $sql = "UPDATE toggle SET status = '0' WHERE id = '1'"; echo 'fail'; } $result=$conn->query($sql); ?>
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda