在表中显示PHP查询结果,而不考虑返回的列数?
因此,我正在探索PHP的奇妙世界,我仍然在创建非常肮脏、构建糟糕的代码,但我正在努力做得更好!因此,我的问题如下: 有没有一种方法可以自动计算结果集中的列,并在不考虑使用查询的情况下生成一个漂亮的HTML表 以下是当前代码:在表中显示PHP查询结果,而不考虑返回的列数?,php,oracle-call-interface,Php,Oracle Call Interface,因此,我正在探索PHP的奇妙世界,我仍然在创建非常肮脏、构建糟糕的代码,但我正在努力做得更好!因此,我的问题如下: 有没有一种方法可以自动计算结果集中的列,并在不考虑使用查询的情况下生成一个漂亮的HTML表 以下是当前代码: 我使用PDO就可以做到这一点 $out = ''; $q = $conn->prepare($SQL); if ($q->execute()) { $rows = $q->fetchAll(); if (!empty($rows)) {
我使用PDO就可以做到这一点
$out = '';
$q = $conn->prepare($SQL);
if ($q->execute()) {
$rows = $q->fetchAll();
if (!empty($rows)) {
//We have something
$out .= "<table class='pure-table pure-table-striped' style='font-size:11px;'>";
$first = true;
//iterate on rows
foreach($rows as $row) {
//Clean out all the numeric keys - stops duplicate values
foreach ($row as $key => $value) {
if (is_int($key)) {
unset($row[$key]);
}
}
//header
if ($first) {
//write header
$out .= '<thead><tr>';
foreach ($row as $key => $value) {
$out .= '<th>' . $key . '</th>';
}
$out .= '</tr></thead>';
$first = false;
}
//write line
$out .= '<tr>';
foreach($row as $key => $value) {
$out .= '<td>' . $value . '</td>';
}
$out .= '</tr>';
}
$out .= '</table>';
}
}
echo ($out);
$out='';
$q=$conn->prepare($SQL);
如果($q->execute()){
$rows=$q->fetchAll();
如果(!空($rows)){
//我们有东西
$out.=”;
$first=true;
//在行上迭代
foreach($行作为$行){
//清除所有数字键-停止重复值
foreach($key=>$value的行){
if(is_int($key)){
未设置($row[$key]);
}
}
//标题
如果($第一){
//写头
$out.='';
foreach($key=>$value的行){
$out.=''.$key.'';
}
$out.='';
$first=false;
}
//写行
$out.='';
foreach($key=>$value的行){
$out.=''.$value.'';
}
$out.='';
}
$out.='';
}
}
echo($out);
我使用PDO就可以做到这一点
$out = '';
$q = $conn->prepare($SQL);
if ($q->execute()) {
$rows = $q->fetchAll();
if (!empty($rows)) {
//We have something
$out .= "<table class='pure-table pure-table-striped' style='font-size:11px;'>";
$first = true;
//iterate on rows
foreach($rows as $row) {
//Clean out all the numeric keys - stops duplicate values
foreach ($row as $key => $value) {
if (is_int($key)) {
unset($row[$key]);
}
}
//header
if ($first) {
//write header
$out .= '<thead><tr>';
foreach ($row as $key => $value) {
$out .= '<th>' . $key . '</th>';
}
$out .= '</tr></thead>';
$first = false;
}
//write line
$out .= '<tr>';
foreach($row as $key => $value) {
$out .= '<td>' . $value . '</td>';
}
$out .= '</tr>';
}
$out .= '</table>';
}
}
echo ($out);
$out='';
$q=$conn->prepare($SQL);
如果($q->execute()){
$rows=$q->fetchAll();
如果(!空($rows)){
//我们有东西
$out.=”;
$first=true;
//在行上迭代
foreach($行作为$行){
//清除所有数字键-停止重复值
foreach($key=>$value的行){
if(is_int($key)){
未设置($row[$key]);
}
}
//标题
如果($第一){
//写头
$out.='';
foreach($key=>$value的行){
$out.=''.$key.'';
}
$out.='';
$first=false;
}
//写行
$out.='';
foreach($key=>$value的行){
$out.=''.$value.'';
}
$out.='';
}
$out.='';
}
}
echo($out);
感谢您的快速响应!我将在EOD之前测试这个,并让您知道结果如何。您应该使用$q->fetchAll(\PDO::FETCH\u ASSOC)代码>使PDO只返回关联索引,这样就不会浪费执行时间删除数字索引。感谢您的快速响应!我将在EOD之前测试这个,并让您知道结果如何。您应该使用$q->fetchAll(\PDO::FETCH\u ASSOC)
使PDO只返回关联索引,这样就不会浪费执行时间删除数值索引。