3

Can someone tell me what I am doing wrong? The code runs fine, but the result that outputs is weird. It is giving me an extra column.

<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$serverName = "server\sqlexpress";
$connectionInfo = array("Database"=>"mine");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn === FALSE){
  die( print_r( sqlsrv_errors(), true));
}

$sql = 'SELECT id, name, age FROM names';
$records = sqlsrv_query($conn, $sql);

?>

<html>
<head>
    <meta charset="UTF-8">
    <title>Heath Data</title>
</head>
<body>
    <table width="600" border="1" cellspacing="1" cellpadding="1">
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Age</th>
        </tr>


    <?php
    while ($employee = sqlsrv_fetch_array($records, SQLSRV_FETCH_ASSOC)){
        echo "<tr>";
        echo "<td>".$employee['id']."<td>";
        echo "<td>".$employee['name']."<td>";
        echo "<td>".$employee['age']."<td>";
        echo "<tr>";

    }
    ?>

    </table>
</body>

Here is the rersult: enter image description here

Why the extra column?

3
  • close <td> tags properly Commented Jul 28, 2016 at 1:59
  • Watch your closing tags </td> and </tr> !! Commented Jul 28, 2016 at 1:59
  • OMG!!! I totally missed that. Thanks for your help! Commented Jul 28, 2016 at 2:00

2 Answers 2

3

Just need to terminate the tags

echo "<tr>";
echo "<td>".$employee['id']."</td>";
echo "<td>".$employee['name']."</td>";
echo "<td>".$employee['age']."</td>";
echo "</tr>";
Sign up to request clarification or add additional context in comments.

Comments

0
<?php
error_reporting(E_ALL); ini_set('display_errors', 1);
$serverName = "server\sqlexpress";
$connectionInfo = array("Database"=>"mine");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn === FALSE)
{
die( print_r( sqlsrv_errors(), true));
}

$sql = 'SELECT id, name, age FROM names';
$records = sqlsrv_query($conn, $sql);

?>

<html>
<head>
<meta charset="UTF-8">
<title>Heath Data</title>
</head>
<body>
<table width="600" border="1" cellspacing="1" cellpadding="1">
    <tr>
        <th>ID</th>
        <th>Name</th>
        <th>Age</th>
    </tr>


<?php
while ($employee = sqlsrv_fetch_array($records, SQLSRV_FETCH_ASSOC)){
    echo "<tr>";
    echo "<td>".$employee['id']."<td>";
    echo "<td>".$employee['name']."<td>";
    echo "<td>".$employee['age']."<td>";
    echo "<tr>";

}
?>

</table>

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.