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

Ocultar O 0 Default


Jaya

Pergunta

Tenho uma bd com os seguintes campos:

Nome -> tinytext

Senha -> tinytext

dad1 -> tinyint(4) - notnull - defeito 0

dad2 -> tinyint(4) - notnull - defeito 0

que permite ao usuário a actualização dos seus dados com a introdução do nome e senha.

Até aqui tudo bem.

Porém, quando quero fazer a visualização em table na webpágina através do php e faço um mysql_query... com while($prt=mysql_fetch_object .... aparecem todos os nomes e os valores dos dados dos campos dad1 e dad2.

Se nos campos numéricos ainda não foi nada introduzido aparece o algarismo 0 (zero) do valor default do campo da bd.

Até aqui tudo bem

Agora o meu problema:

Eu queria que, no caso do usuário não ter ainda introduzido nada nos campos numéricos (ou em qualquer deles) quando eu fazesse o query para a table da webpágina não aparecesse nada escrito nos campos correspondentes, isto é, as células correspondentes aparecessem vazias ou com um "-", por exemplo.

É que o usuário também pode introduzir o valor 0 e assim causa uma grande confusão porque ficamos sem saber se o zero que lá aparece foi introduzido pelo usuário ou se é o zero do default.

Já experimentei usar o null nesses dois campos mas não resultou.

Será que me fiz entender? smile.gif

Agradeço alguma ajuda

Jaya

Link para o comentário
Compartilhar em outros sites

9 respostass a esta questão

Posts Recomendados

  • 0

Obrigada pela ajuda. Mas tem o outro problema que eu coloquei no post. Como é que eu sei se o tal 0 é o default ou já foi um 0 colocado pelo usuário smile.gif

Eu só quero ocultar o zero default. Se qualquer usuário editar a bd e colocar 0 esse deve aparecer como valor válido. É aí que reside o meu problema.

Link para o comentário
Compartilhar em outros sites

  • 0

corresponde ao seu resultado num jogo.

será que eu posso passar a variavel que quero echoar para um " " (vazio) se o seu valor for zero ??? estou pensando que poderá se outra via.

Um código qualquer como este

<?php

include"iht_config.php";

$dados = mysql_query("SELECT name, rnd1, rnd2, rnd3, rnd4, rnd1+rnd2+rnd3+rnd4 as total FROM players",$connect);

{

while($prt=mysql_fetch_object($dados)){

echo "<table width=70% align=center border=1 cellspacing=2 cellpadding=2 bgcolor=#D7C515>";

echo "<td width=20%><b>".$prt->name."</b></td>";

if ($prt->rnd1 == 0){$rnd1 = " ";}

echo "<td width=10% align=center>".$prt->rnd1."</td>";

if ($prt->rnd2 == 0){$rnd2 = " ";}

echo "<td width=10% align=center>".$prt->rnd2."</td>";

if ($prt->rnd3 == 0){$rnd3 = " ";}

echo "<td width=10% align=center>".$prt->rnd3."</td>";

if ($prt->rnd4 == 0){$rnd4 = " ";}

echo "<td width=10% align=center>".$prt->rnd4."</td>";

echo "<td width=10% align=center><b>".$prt->total."</b></td>";

echo"</table>";

}}

?>

Só que não consigo fazer direito

Link para o comentário
Compartilhar em outros sites

  • 0

Legal o seu código, mas o seu problema é conceitual, ver o código não vai ajudar em muita coisa.

Testei aqui. Se você deixar o campo como NULL ao invés de NOT_NULL e não inserir nenhum valor, vai dar certo.

Depois é só fazer uma verificação pra ver se o valor daquele campo é null (escreva null mesmo, sem aspas), ou seja, vazio...

Link para o comentário
Compartilhar em outros sites

  • 0

Acho que consegui. Eis o código

<?php

include"iht_config.php";

$dados = mysql_query("SELECT name, rnd1, rnd2, rnd3, rnd4, rnd1+rnd2+rnd3+rnd4 as total FROM players",$connect);

{

while($prt=mysql_fetch_object($dados)){

echo "<table width=70% align=center border=1 cellspacing=2 cellpadding=2 bgcolor=#D7C515>";

echo "<td width=20%><b>".$prt->name."</b></td>";

if ($prt->rnd1 == 0){$rnd11 = '';

echo "<td width=10% align=center>".$prt->rnd11."</td>";

} else {

echo "<td width=10% align=center>".$prt->rnd1."</td>";

}

if ($prt->rnd2 == 0){$rnd21 = '';

echo "<td width=10% align=center>".$prt->rnd21."</td>";

} else {

echo "<td width=10% align=center>".$prt->rnd2."</td>";

}

if ($prt->rnd3 == 0){$rnd31 = '';

echo "<td width=10% align=center>".$prt->rnd31."</td>";

} else {

echo "<td width=10% align=center>".$prt->rnd3."</td>";

}

if ($prt->rnd4 == 0){$rnd41 = '';

echo "<td width=10% align=center>".$prt->rnd41."</td>";

} else {

echo "<td width=10% align=center>".$prt->rnd4."</td>";

}

echo "<td width=10% align=center><b>".$prt->total."</b></td>";

echo"</table>";

}}

?>

Link para o comentário
Compartilhar em outros sites

  • 0

Vejamos assim.

Quando o usuário colocar 0 no form vai registar 99 no campo da BD.

e no display quando encontra 99 vindo da bd ele echoa 0

Fiz este código mas há qualquer coisa no filtro que está mal

if ($prt->rnd4 == 0){$rnd41 = ''; // este IF funciona e elimina só os 0's

echo "<td width=10% align=center>".$prt->rnd41."</td>";

} elseif ($prt->rnd4 == 99){$rnd42 = 0; { // mas aqui não reconhece esta condição e elimina também o 99

echo "<td width=10% align=center>".$prt->rnd42."</td>";

}

} else {

echo "<td width=10% align=center>".$prt->rnd4."</td>";

}

Isto não dá erro mas nunca reconhece o elseif

você quer dar mais uma dica ?

Jaya

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
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...