简体   繁体   English

在PHP中显示来自MSSQL数据库的所有结果

[英]Show all results from a MSSQL database in PHP

I'm trying to show all results from a database but it show only last result, anyone can help me? 我正在尝试显示数据库中的所有结果,但仅显示最后结果,有人可以帮助我吗?

    <?php
            $serverName = "asdasd-DEMO"; 
            $options = array(  "UID" => "sa",  "PWD" => "#asdasfi",  "Database" => "demo");
            $conn = sqlsrv_connect($serverName, $options);
                if( $conn ) {
                echo "Connection established.";
                $sql="SELECT * FROM cliente";
                $aResult=sqlsrv_query($conn, $sql);
                while($rows = sqlsrv_fetch_array($aResult))
                { 
                $id = $rows['id'];
                $nome = $rows['nome'];
                $idade = $rows['idade'];
                }
            }else{
                 echo "Connection could not be established.<br />";
                 die( print_r( sqlsrv_errors(), true));
            }
?>
        <p>
            <td><b><font color='#663300'><?php echo $id;?></font></b></td>
            <td><b><font color='#663300'><?php echo $nome;?></font></b></td>
            <td><b><font color='#663300'><?php echo $idade;?></font></b></td>
        </p>

Thanks 谢谢

You have to put display inside your loop : 您必须将display放入循环中:

<?php
        $serverName = "asdasd-DEMO"; 
        $options = array(  "UID" => "sa",  "PWD" => "#asdasfi",  "Database" => "demo");
        $conn = sqlsrv_connect($serverName, $options);
            if( $conn ) {
            echo "Connection established.";
            $sql="SELECT * FROM cliente";
            $aResult=sqlsrv_query($conn, $sql);
            while($rows = sqlsrv_fetch_array($aResult))
            { 
            $id = $rows['id'];
            $nome = $rows['nome'];
            $idade = $rows['idade'];
?>
    <p>
        <td><b><font color='#663300'><?php echo $id;?></font></b></td>
        <td><b><font color='#663300'><?php echo $nome;?></font></b></td>
        <td><b><font color='#663300'><?php echo $idade;?></font></b></td>
    </p>
<?php
            }
        }else{
             echo "Connection could not be established.<br />";
             die( print_r( sqlsrv_errors(), true));
        }

You need to store every row in your results, and loop over them. 您需要存储结果中的每一行,并在它们上循环。

    <?php
            $serverName = "asdasd-DEMO"; 
            $options = array(  "UID" => "sa",  "PWD" => "#asdasfi",  "Database" => "demo");
            $conn = sqlsrv_connect($serverName, $options);
            $results = array();
                if( $conn ) {
                echo "Connection established.";
                $sql="SELECT * FROM cliente";
                $aResult=sqlsrv_query($conn, $sql);
                while($rows = sqlsrv_fetch_array($aResult))
                { 
                    $results[] = $row;
                }
            }else{
                 echo "Connection could not be established.<br />";
                 die( print_r( sqlsrv_errors(), true));
            }
    foreach($results as $row) {
?>
        <p>
            <td><b><font color='#663300'><?php echo $row['id'];?></font></b></td>
            <td><b><font color='#663300'><?php echo $row['nome'];?></font></b></td>
            <td><b><font color='#663300'><?php echo $row['idade'];?></font></b></td>
        </p>
<?php
    }

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM