1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

PHP-Ajuda com ciclo IF()

Discussão em 'Web Development' iniciada por eralha, 28 de Março de 2007. (Respostas: 4; Visualizações: 794)

  1. eralha

    eralha Power Member

    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
     
  2. HecKel

    HecKel The WORM

    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
     
  3. eralha

    eralha Power Member

    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)
     
  4. p3dro

    p3dro Power Member

    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.
     
  5. eralha

    eralha Power Member

    $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
     

Partilhar esta Página