2
I need to bring information from a table that uses several fields. This information needs to be handled before entering an HTML Select. Every structure for this is already ready using AJAX but I’m having difficulty eliminating unfilled fields in certain columns.
My table structure is as follows:
id, id_fornecedor, propriedade, responsavel, endereco, telefone, email, variedade1, preco_variedade1, variedade2, preco_variedade2, variedade3, preco_variedade3, variedade4, preco_variedade4, variedade5, preco_variedade5, variedade6, preco_variedade6, variedade7, preco_variedade7, variedade8, preco_variedade8, variedade9, preco_variedade9, variedade10, preco_varidade10
What I need?
Display from my select ONLY the results that have had the columns filled in in the manifolds. Impossible to set either because the records are random. Those that have not been filled in, I need PHP to ignore with Select (Mysql) so that unfilled information leaves Select (HTML) empty.
The current ajax code is this first and the bottom one is PHP called by Ajax:
$(function(){
$('#propriedade').change(function(){
if( $(this).val() ) {
$('#variedade').hide();
$('.carregando_variedades').show();
$.getJSON('variedades.ajax.php?search=',{cod_propriedade: $(this).val(), ajax: 'true'}, function(j){
var options = '<option value=""></option>';
for (var i = 0; i < j.length; i++) {
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade1 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade2 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade3 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade4 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade5 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade6 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade7 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade8 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade9 + '</option>';
options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade10 + '</option>';
}
$('#variedade').html(options).show();
$('.carregando_variedades').hide();
});
} else {
$('#variedade').html('<option value="">– Escolha uma variedade –</option>');
}
});
});
<?php
header( 'Cache-Control: no-cache' );
header( 'Content-type: application/xml; charset="utf-8"', true );
include ('conn/conexao.php');
$cod_propriedade = $_REQUEST['cod_propriedade'];
$variedade = array();
$consulta_variedades = $db->prepare("SELECT * FROM cad_propriedades WHERE id = '$cod_propriedade'");
$consulta_variedades->execute();
$resultado_variedades = $consulta_variedades->fetchAll(PDO::FETCH_ASSOC);
foreach($resultado_variedades as $row)
{
$variedade[] = array(
'cod_variedade' => $row['id'],
'variedade1' => $row['variedade1'],
'variedade2' => $row['variedade2'],
'variedade3' => $row['variedade3'],
'variedade4' => $row['variedade4'],
'variedade5' => $row['variedade5'],
'variedade6' => $row['variedade6'],
'variedade7' => $row['variedade7'],
'variedade8' => $row['variedade8'],
'variedade9' => $row['variedade9'],
'variedade10' => $row['variedade10'],
);
}
echo( json_encode($variedade) );
?>
Hello friend! I tried your code here but unfortunately it didn’t work. It keeps bringing the blank fields along. Still, thanks for the feedback.
– Marcelo Roberto
What result (json) you get from the ajax request?
– Rodrigo Zem
I followed his logic and added at the end of each if the && j[i]. variedade1 != "" and it worked. If you can, make a new answer so that I leave it here in the spotlight for those who view the post in a better way. THANK YOU SO MUCH for helping Rodrigo. Big hug!
– Marcelo Roberto
That’s what I was going to ask, because if it was empty it would just change the code, but it worked then, vlw.
– Rodrigo Zem
I changed the code above to be right.
– Rodrigo Zem
Unfortunately I have no reputation to give +1 in your answer but it will certainly help a lot of people. Hug!
– Marcelo Roberto
No problem!!! Hug!
– Rodrigo Zem