0
Hi, I have a very strange problem. When I run my UPDATE in the query by filling in all fields except the PRODUCT VALUE, it simply doesn’t update anything. If I fill in the PRODUCT VALUE field it updates normal all fields. If I remove the valor_produto='$valorprod'
query it updates normal, regardless of whether all fields are filled or not. What?
Page save.php:
<?php
define('host','localhost');
define('usuario','root');
define('senha','');
define('db','bd');
$conexaoa = mysqli_connect(host,usuario,senha,db);
$codigo = $_POST['cod_produto'];
$categoria = $_POST['cat_produto'];
$descricao = $_POST['descricao_produto'];
$quantidade = $_POST['qnt_total'];
$valorprod = $_POST['valor_produto'];
$queri = "UPDATE cad_produtos SET cat_produto='$categoria',descricao_produto='$descricao',qnt_total='$quantidade',valor_produto='$valorprod' WHERE cod_produto='$codigo'";
$resultadoa = mysqli_query($conexaoa, $queri) or die(mysqli_error($conexaoa));
if($resultadoa){
echo 'atualizado';
}
?>
Page that are the inputs:
<div class="modal-content" style="width:900px;">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<div class="modal-body">
<div class="row">
<div class="col-auto">
<label>Código do Produto</label>
<input type="text" id="cod_produto" class="form-control">
</div>
<div class="col-sm-3">
<label>Categoria</label>
<select id="cat_produto" class="selectpicker" data-width="99%" data-live-search="true">
<option selected></option>>
<?php while($dados_cat = $result_categorias->fetch_array()){ ?>
<option value="<?php echo $dados_cat["categoria"] ?>"><?php echo $dados_cat["categoria"] ?></option>
<?php } ?>
</select>
</div>
<div class="col-auto">
<label>Descrição</label>
<input type="text" id="descricao_produto" class="form-control" style="width: 405px">
</div>
<div class="col-auto">
<label>Quantidade Total</label>
<input type="text" id="qnt_total" class="form-control">
</div>
<div class="col-auto">
<label>Valor Unitário</label>
<input type="text" id="valor_produto" class="form-control">
</div>
<input type="hidden" id="cod_prod" class="form-control">
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default float-sm-left" data-dismiss="modal">Close</button>
<a href="#" id="save" class="btn btn primary float-right">Update</a>
</div>
</div>
Script that pulls data from table to modal:
$(document).ready(function(){
$(document).on('click','a[data-role=editar]',function(){
var cod_produto = $(this).data('id');
var cat_produto = $('#'+cod_produto).children('td[data-target=cat_produto]').text();
var descricao_produto = $('#'+cod_produto).children('td[data-target=descricao_produto]').text();
var qnt_total = $('#'+cod_produto).children('td[data-target=qnt_total]').text();
var valor_produto = $('#'+cod_produto).children('td[data-target=valor_produto]').text();
$('#cod_produto').val(cod_produto);
$('#cod_prod').val(cod_produto);
$('#cat_produto').val(cat_produto);
$('#cat_produto').selectpicker('render');
$('#descricao_produto').val(descricao_produto);
$('#qnt_total').val(qnt_total);
$('#valor_produto').val(valor_produto);
$('#myModal').modal('toggle');
});
$('#save').click(function(){
var cod_produto = $('#cod_prod').val();
var cat_produto = $('#cat_produto').val();
var descricao_produto = $('#descricao_produto').val();
var qnt_total = $('#qnt_total').val();
var valor_produto = $('#valor_produto').val();
$.ajax({
url : 'save.php',
method : 'post',
data : {cat_produto : cat_produto , descricao_produto : descricao_produto , qnt_total : qnt_total , valor_produto : valor_produto , cod_produto : cod_produto},
success : function(response){
$('#'+cod_produto).children('td[data-target=cat_produto]').text(cat_produto);
$('#'+cod_produto).children('td[data-target=descricao_produto]').text(descricao_produto);
$('#'+cod_produto).children('td[data-target=qnt_total]').text(qnt_total);
$('#'+cod_produto).children('td[data-target=valor_produto]').text(valor_produto);
$('#myModal').modal('toggle');
}
});
});
});
Probably some field type validation in the database, generating an error
– Costamilam
Put a
console.log(response)
at the beginning of thesuccess:
and see what it shows. Probably an error in PHP.– Sam
Probably some restriction in the product value_field, for example it cannot be null and its $valorprod string may be null, as they said of a console.log(Response) and see what PHP is returning you.
– brunox99x
Your source code appears to be ok, but as stated earlier, there may be some restriction in your table for the product value_column that is preventing its update. If possible, add in the description of your problem the SQL script of creating your table for better analysis.
– Leandro Paiva