Quiero recuperar las identificaciones de las casillas de verificación seleccionadas y enviarlas a través de una llamada AJAX. En mi archivo PHP, puse las identificaciones en una consulta de eliminación para eliminar registros de mi base de datos. ¿Cómo puedo hacer esto? Intenté varias cosas, como asignarlo a una matriz o convertirlo a un JSON, pero parece que no puedo hacerlo funcionar. En mi PHP obtengo matrices indefinidas o vacías.
HTML:
<button href="" id="deletebutton" type="button" class="" disabled="">Delete </button> <input type="checkbox" class="checkbox-clicks" id="" name="" value="1001"> <input type="checkbox" class="checkbox-clicks" id="" name="" value="1002">JQuery:
$("#deletebutton").on("click", function() { var results = {}; // <== object var data = JSON.stringify(results); var checkedIds = $(".checkbox-clicks:checked").each(function() { results['id'] = this.value; }); $.ajax({ url:"testurl", type: "POST", data: data, success: function (result) { console.log('succesful delete'); }, error: function (xhr, status, error) { console.log('unsuccesful delete'); } }); }PHP:
$request = $_POST; $ids = json_decode($request); $req = $ids->id; $conditions = array( $db->quoteName('person_id') . " = " . $req, ); $query->delete($db->quoteName('mydb')); $query->where($conditions);¿Cómo puedo poner id 1001 y 1002 en la misma consulta como condición?
Actualmente está pasando los datos (valores de la casilla de verificación) desde su página original, a través de jQuery, a su página 'testurl'.
En su lugar, puede obtener los valores directamente en su página PHP 'testurl' de los datos de $_POST.
En su primera página, asegúrese de definir los nombres de las casillas de verificación, para que pueda hacer referencia a ellos en el backend:
foreach($personid as $value) { echo '<input type="checkbox" name="personid[]" value= "'.$value.'">'.'<br>'; }PHP para su página de escucha:
<?php // Listen for post if ( isset($_POST) ) { if(!empty($_POST['personid'])) { foreach($_POST['personid'] as $value){ // Do your DB query here with condition looking at $value } } } ?>