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

Problema em retirar dados de sql usando o php

Discussão em 'Web Development' iniciada por alhivoc, 5 de Maio de 2012. (Respostas: 3; Visualizações: 663)

  1. Boas tenho estado com algumas experiencias eencontrei-me com um problema :)

    Consigo selecionar e imprimir varios dados de sql, mas não apenas uma linha :/

    Onde eu penso que esta o erro é neste comando: "while($escrever=mysql_fetch_array($res2))" pois sendo o while e o mysql_fetch_array, ele vai assumir que ja esta no final, visto que é so uma linha e não me chega a imprimir nada :/

    Mas não sei como resolver isto.

    Alguma ideia?

    o codiogo é este:
    (relembro que a conexão com a bd ja foi feita anteriormente, e testada em outras paginas)




    <?php

    $nome2=$_SESSION['LOGADOUSER'];


    $res2= mysql_query("select * from admins where nome='$nome2'");


    if($res2) {

    while($escrever=mysql_fetch_array($res2)){

    $res2= mysql_query("select * from admins where nome='$nome2'");

    echo $escrever['login'];

    echo "<table align='center'>";
    echo "<tr><td><h2><strong>login </td></h2></strong><td></td><td><h2><strong>" . $escrever['login'] . "</td></tr></h2></strong>";
    echo "<tr><td><h2><strong>Nome </td></h2></strong><td></td><td><h2><strong>" . $escrever['nome'] . "</td></tr></h2></strong>";
    echo "<tr><td><h2><strong>link </td></h2></strong><td></td><td><h2><strong>" . $escrever['link'] . "</td></tr></h2></strong>";
    echo "<tr><td><h2><strong>password </td></h2></strong><td></td><td><h2><strong>******</td></tr></h2></strong>";
    echo "</table>";
    }

    }else{

    echo '<script language="javascript">
    alert("Erro");
    </script>';
    }




    ?>
     
    Última edição: 5 de Maio de 2012
  2. Boas
    Neste momento não tenho oportunidade de testar código PHP,mas experimenta retirar o "$res2= mysql_query("select * from admins where nome='$nome2'");" que está dentro do While,porque a query já foi executada anteriormente por isso não precisas de a executar de novo dentro do loop.
    Cumps
     
  3. MrOverclock

    MrOverclock Power Member

    Exactamente como dito anteriormente, a query é feia antes do while, não faz sentido fazer de novo! No entanto, assim de repente, esse código deveria fazer um ciclo infinito e ele deveria começar a imprimir apenas a primeira linha infinitas vezes.
     
  4. tenta usar um ciclo "foreach"

    $escrever=mysql_fetch_array($res2))

    foreach ($escrever as &$value) {

    echo $value['login'];
    echo $value['nome'];

    }
     

Partilhar esta Página