Ignore unfilled Mysql PHP fields

Asked

Viewed 66 times

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) );

?>

1 answer

2


$(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++) {
                  if (typeof(j[i].variedade1) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade1 + '</option>';
                  if (typeof(j[i].variedade2) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade2 + '</option>';
                  if (typeof(j[i].variedade3) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade3 + '</option>';
                  if (typeof(j[i].variedade4) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade4 + '</option>';
                  if (typeof(j[i].variedade5) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade5 + '</option>';
                  if (typeof(j[i].variedade6) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade6 + '</option>';
                  if (typeof(j[i].variedade7) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade7 + '</option>';
                  if (typeof(j[i].variedade8) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade8 + '</option>';
                  if (typeof(j[i].variedade9) != "")
                    options += '<option value="' + j[i].cod_variedade + '">' + j[i].variedade9 + '</option>';
                  if (typeof(j[i].variedade10) != ""l)
                    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>');
      }
  });
});
  • 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.

  • What result (json) you get from the ajax request?

  • 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!

  • That’s what I was going to ask, because if it was empty it would just change the code, but it worked then, vlw.

  • I changed the code above to be right.

  • Unfortunately I have no reputation to give +1 in your answer but it will certainly help a lot of people. Hug!

  • No problem!!! Hug!

Show 2 more comments

Browser other questions tagged

You are not signed in. Login or sign up in order to post.