我似乎无法将我的数组放入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" } }
答案 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>";
我将您的阵列重命名为测试目的并将其包含在顶部,以便您可以快速完成它,但这应该是您需要的一切。