我在sql语句中使用fetchAll(PDO :: FETCH_ASSOC)来查询我创建的数据库,并且当前有print_r()作为查看它的方法。 Print_r返回诸如
之类的值Array ( [0] => Array ( [Type] => Poison, Invicibility, Heals [First_Name] => Acton [Last_Name] => Mooney )
[1] => Array ( [Type] => Telepathy, Mind-Control [First_Name] => Adam [Last_Name] => Warlock )
我正在尝试使用循环将此信息放在表格中以使其变得漂亮和整洁,例如我想看到:
Type First_Name Last_Name
Poison, Invicibility, Heals Acton Mooney
Telepathy, Mind-Control Adam Warlock
但是我目前仍然坚持如何实现这一点。我知道它涉及某种类型的循环,但查询是动态的,有时可能有超过3行的信息,所以它有点混乱。
答案 0 :(得分:1)
在读取结果时使用while循环,而不是使用fetchAll();
// Use fetchAll as you have
$aResults = $stmnt->fetchAll(PDO::FETCH_ASSOC)
// Then, check you have results
$numResults = count($aResults);
if (count($numResults) > 0) {
// Output the table header
echo '<table><tr>';
foreach ($aResults[0] as $fieldName=>$value) {
echo '<th>' . htmlspecialchars($fieldName) . '</th>';
}
echo '</tr>';
// Now output all the results
foreach($aResults as $row) {
echo '<tr>';
foreach ($row as $fieldName=>$value) {
echo '<td>' . htmlspecialchars($value) . '</td>';
}
echo '</tr>';
}
// Close the table
echo '</table>';
} else {
echo 'No results';
}
编辑:基于问题的澄清&#34;我的问题是如何知道列号和名称,因为我的查询工作方式是它可以查询任何表格&#34;
docker inspect exampleimagelocal
答案 1 :(得分:0)
喜欢这个,
<?php
$arr = array ( 0 => array ( 'Type' => 'Poison, Invicibility, Heals', 'First_Name' => 'Acton', 'Last_Name' => 'Mooney' ) ,
1 => array ( 'Type' => 'Telepathy, Mind-Control', 'First_Name' => 'Adam', 'Last_Name' => 'Warlock' )) ;
echo "<table><tr><th>type</th><th>type</th><th>type</th></tr>";
foreach ($arr as $key=>$val) {
echo "<tr>";
echo "<td>".$val['Type']."</td>";
echo "<td>".$val['First_Name']."</td>";
echo "<td>".$val['Last_Name']."</td>";
echo "</tr>";
}
echo "</table>";