View Full Version : PHP-Ajuda com ciclo IF()


eralha
28-03-2007, 08:59
Boas pessoal, tenho aqui uma duvida lool e que ja algum tempo que nao pego no php e as vezes surgem aquelas brancas fdds.


<?
include("ligardb.php");
$query = "Select * From ralha";
$lol = mysql_query($query);
while ($i = mysql_fetch_array($lol))
{
echo "<tr>";
echo "<td bgcolor='#CCCCCC'>";
echo $i["id"];
echo "</td>";
echo "<td bgcolor='#CCCCCC'>";
echo $i["nome"];
echo "</td>";
echo "<td bgcolor='#CCCCCC'>";
echo $i["email"];
echo "</td>";
echo "<td bgcolor='#CCCCCC'>";
echo $i["web"];
echo "</td>";
echo "<td bgcolor='#CCCCCC'>";
echo $i["msg"];
echo "</td>";
echo "</tr>";
}
?>



Tao e o seguinte tenho este codigo e o que quero é colo car um ciclo If() ali antes do while que verefique se o query encontrou registos na tabela ou nao caso encontre faz o while caso nao encontre mostra uma linha de tabela com a informação "nao foram encontrados registos."

o que eu ja tentei fazer foi isto mas sem resultado:

$query = "Select * From ralha";
$lol = mysql_query($query);
$ctl=mysql_num_rows($lol);

if($ctl==NULL)
{
echo "<tr><td bgcolor='#CCCCCC'>Nao foram encontrados registos.</td></tr>";
}
else
{

while ($i = mysql_fetch_array($lol))
{
......................

}

Acho que o erro ta ali no mysql_num_rows(); nao devo estar atribuir o valor da variavel correcta.

Se alguem puder ajudar agradeço tks :D

HecKel
28-03-2007, 10:24
O mysql_num_rows devolve 0 e não NULL caso não tenha entradas, o retorno é um inteiro.

Experimenta a comparar com 0.

abraços, HecKel

eralha
28-03-2007, 10:38
O mysql_num_rows devolve 0 e não NULL caso não tenha entradas, o retorno é um inteiro.

Experimenta a comparar com 0.

abraços, HecKel

hmmm. vou exprimentar, mas diz-me uma cena a atribuição de variaveis acho que nao ta a ser bem feita pk dp no while tenho $i=mysql_fetch_array($lol) acho que n vai funcar pk ja ta em cima defenido como mysql_num_rows($lol)

p3dro
28-03-2007, 12:57
hmmm. vou exprimentar, mas diz-me uma cena a atribuição de variaveis acho que nao ta a ser bem feita pk dp no while tenho $i=mysql_fetch_array($lol) acho que n vai funcar pk ja ta em cima defenido como mysql_num_rows($lol)

O HecKel tem razão, o mysql_num_rows devolve um inteiro, senão houver registos será devolvido o 0, como ele disse tenta if($ctl==0) ...

Podes ter igualmente o mysql_num_rows e o mysql_fetch_array seguidos que não há qualquer problema.

eralha
28-03-2007, 19:02
$lol = mysql_query($query);
$cyt = mysql_num_rows($lol);

if($cyt==0)
{
echo "<tr>";
echo "<td width='200' bgcolor='#E4E4E4'><font size='-2' face='Arial, Helvetica, sans-serif'><center>";
echo "Nao foram encontrados Registos.";
echo "</center></font></td>";
echo "</tr>";

}


Ta bombar ppl! obrigado pela dica :D