PDO:如何用数据库表中的行填充html表? [英] PDO: how to populate html table with rows from database table?

查看:108
本文介绍了PDO:如何用数据库表中的行填充html表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我在数据库中的表信息.

This is my table info in DB.

id         name        age
1          Vale        23      
2          Alex        13
3          Scott       15
4          Tino        18

我有2个选择框,当我从第一个选择框中选择"Vale"和从第二个选择框中选择"Scoot"时,我喜欢生成这样的表:

I have 2 select box and when i pick "Vale" from first and "Scoot" from second selectbox, i like to generate table like this:

 id         name        age
 1          Vale        23      
 3          Scott       15

选择框.

<select name="name1">
   <option value="Vale">Vale</option>
   <option value="Tino">Tino</option>
</select>

<select name="name2">
   <option value="Alex">Alex</option>
   <option value="Scoot">Scoot</option>
</select>
.
.
.

我的page_to_process.php.我还需要什么,或者我的错误在哪里.

My page_to_process.php. What i need more, or where is my errors.

<?php
require('includes/config.php');\\CONNECTION to Database

$sql = $dbh->prepare("SELECT * FROM info WHERE name = :name");
$sql->setFetchMode(PDO::FETCH_ASSOC);
$sql->execute([':name' => $name1]);


if($sql->rowCount() != 0) {

?>
<table border="0">
   <tr COLSPAN=2 BGCOLOR="#6D8FFF">
      <td>ID</td>
      <td>Name</td>
      <td>Age</td>
   </tr>
 <?php     
 while($row=$sql->fetch()) 
 {
      echo "<tr>".
           "<td>".$row["id"]."</td>".
           "<td>".$row["name"]."</td>".
           "<td>".$row["age"]."</td>".
           "</tr>";
 }

}
else
{
     echo "don't exist records for list on the table";
}

?>
</table>

推荐答案

尝试以下方法:

<?php
require('includes/config.php');

function get_info($dbh, $name)
{
    $sql = $dbh->prepare("SELECT * FROM info WHERE name = :name");
    $sql->setFetchMode(PDO::FETCH_ASSOC);
    $sql->execute([':name' => $name]);
    if ($row = $sql->fetch()) {
        return $row;
    }
    return false;
}

?>


<table border="0">
    <tr COLSPAN=2 BGCOLOR="#6D8FFF">
        <td>ID</td>
        <td>Name</td>
        <td>Age</td>
    </tr>
    <?php
    if (isset($_POST['name1'])) {
        if ($row = get_info($dbh, $_POST['name1'])) {
            echo "<tr>" .
                "<td>" . $row["id"] . "</td>" .
                "<td>" . $row["name"] . "</td>" .
                "<td>" . $row["age"] . "</td>" .
                "</tr>";
        } else {
            echo "don't exist records for list on the table";
        }
    }
    ?>
</table>

这篇关于PDO:如何用数据库表中的行填充html表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆