将数组从数据库放入PHP / HTML表

时间:2014-04-25 15:13:30

标签: php html arrays database pdo

我似乎无法将我的数组放入HTML / PHP表中,编辑:表格只是空的

以下是表格的代码:

       <?php
       include ('CarsDb.class.php');
       $db = new CarsDb();
       $db->connect();
       $db->select($array);
       var_dump($array);        

    ?>
    <h1 align="center">Database of Cars.</h1>
    <form method="POST" >
        <table class="sortable">
            <thead>
                <tr>
                    <th id="makehead">Make </th>
                    <th id="modelhead">Model </th>
                    <th id="idhead">Delete </th>
                </tr>
            </thead>
            <tbody>
                <?php
                $i = 0;
                foreach($db->select($array)->fetchAll as $row){
                    $i++;
                    echo '<tr>';
                    if ($i % 2) {
                        echo '<td class="make">' . $row['make'] . '</td>';
                        echo '<td class="model">' . $row['model'] . '</td>';
                        echo '<td class="id"><input type="checkbox" name="id" value="' . $row['id'] . '">' . $row['id'] . '</td>';   
                    } else {
                        echo '<td class="makelight">' . $row['make'] . '</td>';
                        echo '<td class="modellight">' . $row['model'] . '</td>';
                        echo '<td class="idlight"><input type="checkbox" name="id" value="' . $row['id'] . '">' . $row['id'] . '</td>';                           
                    }
                    echo '</tr>';
                }
                ?>
            </tbody>
            <td>
                <input Onclick="return ConfirmDelete();" name="delete" type="submit" id="delete" value="Delete"></input>
            </td>
        </table></form>

它从类中的函数获取数据,这里是类:

    public function select($array) {
    try {

        $result ="SELECT id,make,model FROM cars";

        $stmt = $this->db->query($result);
        $array = $stmt->fetchAll();
        var_dump($array);


    } catch (PDOException $e) {
        echo $e->getMessage();
    }
}

当我使用var_dump时,它向我展示了数组,但我无法弄清楚如何在表中获取它,相当新的,但数组显示:

array(3) { [0]=> array(6) { ["id"]=> string(2) "27" [0]=> string(2) "27" ["make"]=> string(7) "McLaren" [1]=> string(7) "McLaren" ["model"]=> string(2) "P1" [2]=> string(2) "P1" } [1]=> array(6) { ["id"]=> string(2) "28" [0]=> string(2) "28" ["make"]=> string(7) "McLaren" [1]=> string(7) "McLaren" ["model"]=> string(7) "MP4-12C" [2]=> string(7) "MP4-12C" } [2]=> array(6) { ["id"]=> string(2) "29" [0]=> string(2) "29" ["make"]=> string(6) "Nissan" [1]=> string(6) "Nissan" ["model"]=> string(3) "GTR" [2]=> string(3) "GTR" } }

1 个答案:

答案 0 :(得分:0)

如果用“空表”表示你的html表是空白的,那么你可以使用foreach循环:

$carArray= array(0 => array("id" => "27", "make" => "McLaren", "model" => "P1"),
1=> array ( "id"=> "28", "make"=> "McLaren", "model"=> "MP4-12C"), 
2=> array ( "id"=> "29", "make"=> "Nissan", "model"=> "GTR"));

$i=0;
echo "<table border=\"1\"><tr><td>id</td><td>make</td><td>P1</td></tr>";
foreach($carArray as $k => $carInfo){
    $i++;
    echo '<tr>';
    if ($i % 2) {
        echo '<td class="make">' . $carInfo['make'] . '</td>
        <td class="model">' . $carInfo['model'] . '</td>
        <td class="id"><input type="checkbox" name="id" value="' . $carInfo['id'] . '">' . $carInfo['id'] . '</td>';   
    }
    else {
        echo '<td class="makelight">' . $carInfo['make'] . '</td>
        <td class="modellight">' . $carInfo['model'] . '</td>
        <td class="idlight"><input type="checkbox" name="id" value="' . $carInfo['id'] . '">' . $carInfo['id'] . '</td>';                           
    }
    echo '</tr>';
}
echo "</table>";

我将您的阵列重命名为测试目的并将其包含在顶部,以便您可以快速完成它,但这应该是您需要的一切。