Jaya
-
Total de itens
10 -
Registro em
-
Última visita
Posts postados por Jaya
-
-
Obrigada pela ajuda
1º - também já tinha detectado o meu erro (mudança de 3 para 4)
2º - realmente o seu código é bem mais elegante e profissional sou novata
3º - agora com o novo código echoa 0 se o valor na bd é 99 e não echoa nada se o valor na bd é zero
4º - porém deixou de echoar os valores correctos diferentes de 0 ou 99 !!!
-
Oi Amigos
O campo rnd4 na BD é tinyint(4) notnull
Eu quero echoar o valor real do campo.
Mas se esse valor for 0 não quero echoar nada
Se o valor for 99 quero echoar um 0.
O meu código é o seguinte.
if ($prt->rnd4 == 0){$rnd41 = ' ';
echo "<td width=10% align=center>".$prt->rnd41."</td>";
} elseif ($prt->rnd3 == 99){$rnd41 = 0; {
echo "<td width=10% align=center>".$prt->rnd41."</td>";
}
} else {
echo "<td width=10% align=center>".$prt->rnd4."</td>";
}
Este código echoa os valores correctos e não echoa nada quando o valor é 0.
Tudo bem até aqui.
Porém se o valor for 99 ele também não echoa nada e eu queria que echoasse um 0.
também já tentei com switch ... case e nunca consigo detectar o tal 99
Alguma ajuda por favor ?
Obrigada
Jaya
-
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
-
mas eu não vou dar zero grrrr tenho que resolver esse problema nem que ....
e você vai ajudar eu volto
Obrigada
Beijão
Jaya
-
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>";
}}
?>
-
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
-
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
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.
-
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?
Agradeço alguma ajuda
Jaya
-
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?
Agradeço alguma ajuda
Jaya
If Elseif Else - Dificuldades
em PHP
Postado
descobri o problema
temos que reinicializar a $valor4
assim funciona:
$valor4 = $prt->rnd4;
if ($prt->rnd4 == 0) {
$valor4 = "";
} elseif ($prt->rnd4 == 99) {
$valor4 = 0;
} else {
$valor = $prt->rnd4;
}
echo "<td width=10% align=center>".$valor4."</td>";
Obrigada
Beijão
Jaya