从sql数据库插入值到html表

时间:2013-06-04 12:54:18

标签: php html html-table

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<table id="users" border="1">
        <tr>
            <td>ID</td>
            <td>Name</td>
            <td>Age</td>
            <td>Email</td>
            <td>DOB</td>
        </tr>
        <tr>
            <td>1</td>
            <td><input size=25 type="text" id="Name" readonly=true/></td>
            <td><input size=10 type="text" id="Age" readonly=true/></td>
            <td><input size=25 type="text" id="Email" readonly=true/></td>
            <td><input size=10 type="date" id="DOB" readonly=true/></td>
        </tr>
    </table>
<?php
  $con = mysql_connect("127.0.0.1","root","test") or die(mysql_error());
  $db = mysql_select_db("lr") or die(mysql_error());
  $sql=mysql_query("SELECT * FROM user ")or die(mysql_error());
  $count=0;

while($row = mysql_fetch_array($sql))
{
    $name=$row['Name'];
    $age=$row['age'];
    $email=$row['Email'];
    $dob=$row['DOB'];

    echo  '<table id="users" border="">
        <tr>
            <td>$count</td>
            <td>$name</td>
            <td>$age</td>
            <td>$email</td>
            <td>$dob</td>
        </tr>
  </table>  ';  
$count++;   

}

?>
<form id="form1" name="form1" method="post" action="add.php">
<input type="submit" name="Add" id="Add" value="Add" />
<input type="submit" name="Remove" id="Remove" value="Remove" />
<input type="submit" name="Edit" id="Edit" value="Edit" />

</form>

</body>
</html>

这是我试过的也从mysql数据库中检索数据但无法在我的html表上显示它。除了在表上显示值之外,上面的代码执行所有操作。检查打印值到表格的while循环

3 个答案:

答案 0 :(得分:2)

试试这个

echo  '<table id="users" border="">';
while($row = mysql_fetch_array($sql))
{
   $name=$row['Name'];
   $age=$row['age'];
   $email=$row['Email'];
   $dob=$row['DOB'];

   echo 
       '<tr>
           <td>'.$count.'</td>
           <td>'.$name.'</td>
           <td>'.$age.'</td>
           <td>'.$email.'</td>
           <td>'.$dob.'</td>
       </tr>';

   $count++;   
}
echo ' </table>  ';

并尝试使用mysqli_ *函数或PDO语句,因为不推荐使用mysql_ *函数。

答案 1 :(得分:0)

单引号字符串中的变量不会扩展。

来自Strings

  

注意:与双引号和heredoc语法不同,特殊字符的变量和转义序列在单引号字符串中不会扩展。

您必须在字符串周围使用双引号,然后在字符串内的HTML属性周围使用单引号。

while($row = mysql_fetch_array($sql))
{
    $name=$row['Name'];
    $age=$row['age'];
    $email=$row['Email'];
    $dob=$row['DOB'];

    echo  "<table id='users' border=''>
        <tr>
            <td>$count</td>
            <td>$name</td>
            <td>$age</td>
            <td>$email</td>
            <td>$dob</td>
        </tr>
  </table>";

答案 2 :(得分:0)

检查$sql查询获取行后,将print_r($row);置于while循环中,然后在while循环中进行一些修改

while($row = mysql_fetch_array($sql)){
echo  "<table id='users' border=''>
    <tr>
        <td>".$count."</td>
        <td>".$row['Name']."</td>
        <td>".$row['age']."</td>
        <td>".$row['Email']."</td>
        <td>".$row['DOB']."</td>
   </tr> </table>";  $count++;   }