Ir para conteúdo
Fórum Script Brasil
  • 0

Contar campos vazios Mysql


MTavares

Pergunta

Pessoal.

Estou precisando de uma força. Estou finalizando um sistema de currículos, porém preciso gerar qtos % falta para finalizar. Até aqui tudo bem, porém para o sucesso dessa parte do projeto, estou querendo contar quantos campos vazios possui uma tabela SQL. Tentei usar o IS NOT NULL, mas acho que estou fazendo errado. Alguém saberia como fazer isso pelo Mysql? Por ex:

Vamos supor que eu tenha a seguinte tabela:

cadastro_candidatos

Nessa tabela tenha 4 campos, sendo:

NomeCandidato

DataNascimento

Estado

Cidade

só que o campo DataNascimento não é obrigatório, logo ele não vai ser preenchido na tabela. É aí que entra o raciocínio... preciso contar na tabela apenas 3 campos preenchidos. Alguém sabe como se faz no SQL?

Obrigado.

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

Pessoal.

Estive pensando em criar mais uma tabela chamada "contagem". Nela ficaria armazenada a quantidade de campos que foram preenchidas, mas para isso, preciso saber quantos campos foram preenchidos em um formulário. Tentei algo do gênero:

$c = 0; 

foreach($_POST as $post){ 
    $c .= (!empty($_POST))?(1) :( 0); 
} 
echo "Campos preenchidos " .count($post);

Infelizmente não obtive êxito.... Alguém poderia me dar essa força?

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • 0

Estou quase chegando lá. Tentei dessa forma:

$i = 1;
for($x = 0; $x <= count($_POST['campo']); $x ++) { 
if (!empty($_POST['campo'][$x])){
    echo $i;
$i++;
}
}

Só que ao fazer isso, ele retorna:

1 2

Gostaria de pegar o último valor, que seria nesse caso o número 2. Tentei fazer com o array_pop(), mas não consegui.

Obrigado

Link para o comentário
Compartilhar em outros sites

  • 0

Consegui a solução. Para quem precisar, segue abaixo:

$sql = mysql_query("SELECT * FROM tabela");
$numCampos = mysql_num_fields($sql); 
$linhaI = 0;

for($a = 0; $a < $numCamposi; $a++){ 
    if( mysql_result($sql,$linhaI,$a)!= ''){ 
        $camposI[$countI] = mysql_field_name($sql,$a); 
        $countI++; 
    } 
}

No link abaixo, tem uma opção boa para quem quer criar uma ferramenta de quantidade de campos que foram preenchidos em %.

http://pastebin.com/gffSw68M

Abraços

Editado por MTavares
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...