Я хочу изменить значение statusAut
на Autorizada
при нажатии кнопки Autorizar seleccionados
, но только из записи, которую я выбрал с помощью checkbox
. Я действительно не знаю, смогу ли я, я хочу быть авторизован в реестре.
ICOM INGENIERÍA
файл, на который я ссылаюсь, это add_reg2.php
, это просто обновление таблицы
Пожалуйста, если кто-то может сказать мне, как получить выбранные данные с помощью флажка, я был бы признателен.
Чтобы решать твою проблему, делать следующее:
Нужно добавлять новую колонну к твоей таблице, так как, как ты использовал свойство checkbox из-за defaul table bootstrap больше ничто, оно функционирует как таковой. в этом случае осталась бы эта часть как
<th data-field="id" data-checkbox="true"></th>
<th data-field="idCompra"></th>
и PHP, где ты делаешь while
echo "<tr><td width=\"8%\"></td>";
echo utf8_encode("<td width=\"8%\">" . $row["id_checkbox"] . "</td>");
Javascript
<script type="text/javascript">
$(document).ready(function(){
var checkedRows = new Array();
//Cuando se da clic al checkbox este selecciona las propiedades de la tabla..
$('#table').on('check.bs.table', function (e, row) {
checkedRows.push({id: row.idCompra});
console.log(checkedRows);
});
$('#table').on('uncheck.bs.table', function (e, row) {
$.each(checkedRows, function(index, value) {
if (value.id === row.id) {
checkedRows.splice(index,1);
}
});
console.log(checkedRows);
});
//Aqui es donde actualizas tu tabla asignale un id al botón
$('button#acpt').on("click",function(e){
var array = {data: checkedRows};
var paramJSON = JSON.stringify(array);
console.log(array);
$.ajax({
method: 'POST',
url: 'add_reg2.php',
data: { data: paramJSON },
cache:false })
.done(function( msg ) {
console.log(msg);
location.reload()
});
e.preventDefault();
});
});
И php, который получает данные
if(isset($_POST["data"]))
{
$data = json_decode($_POST["data"]);
//var_dump($data);
foreach($data->data as $mydata)
{
$MySQLiconn->query("UPDATE vistacompras SET statusAut='Autorizada' WHERE idCompra=".$mydata->id);
}
}
Я буду оставлять тебе полный пример, как он мог бы оставаться, создам один без bootstrap
простым способом, это просто, чтобы ориентировать тебя.
Код HTML:
<form method="POST" action="add_reg2.php">
<table>
<tr>
<th> </th>
<th>CLIENTE</th>
<th>CeCo</th>
<th>ORDEN</th>
//Etc.
</tr>
<?php
//Conexión Mysql.
require_once'tuconexion.php';
//Sentencia SQL.
$sql = "SELECT * FROM vistacompras";
$resultado = mysqli_query($db_connection,$sql);
while($row = mysqli_fetch_array($resultado)){
?>
<tr>
<td><input type="checkbox" name="id[]" value="<?php echo $row['idCompra']; ?>" /></td>
<td><?php echo $row['CveSuc']; ?></td>
<td><?php echo $row['Ceco']; ?></td>
<td><?php echo $row['OrdenComp']; ?></td>
</tr>
<?php
}//Fin while
mysqli_close($db_connection);
?>
</table>
<input type="submit" name="autorizados" value="Autorizar seleccionados" />
</form>
Код PHP: (add_reg2.php)
if (isset($_POST['autorizados'])) {
//Conexión Mysql.
require_once'tuconexion.php';
$id = $_POST['id'];
//var_dump($id);
$count = count($id);
//Mensaje con el cambio.
$status = 'AUTORIZADA';
//Rebuscamos en busca de resultados $_POST (id selecionados).
for ($i=0; $i < $count; $i++) {
//Actualizamos Base de datos.
mysqli_query($db_connection,"UPDATE vistacompras SET statusAUT='$status'
WHERE idCompra='$id[$i]' LIMIT 1");
}
mysqli_close($db_connection);
echo "Se actualizo correctamente";
}