Php 将SQLite表数据获取到HTML表中

Php 将SQLite表数据获取到HTML表中,php,html,sqlite,html-table,Php,Html,Sqlite,Html Table,我有一个SQLite数据库,使用PHP提供数据并与之交互 我试图构建一个HTML表,其中for每个SQLite表列作为HTML表列,然后for SQLite表中的每一行作为for HTML表中的每一行呈现 问题是每个sql行数据只呈现到一个html表行中(使用当前代码)(应该针对每一行)。问题是如何将sql行数据获取到数组中,以便循环呈现html表行 目前我有, PHP将SQL列放入HTML表中,将SQL行数据(foreach)放入HTML表行(foreach) //获取表计数 $countTa

我有一个SQLite数据库,使用PHP提供数据并与之交互

我试图构建一个HTML表,其中for每个SQLite表列作为HTML表列,然后for SQLite表中的每一行作为for HTML表中的每一行呈现

问题是每个sql行数据只呈现到一个html表行中(使用当前代码)(应该针对每一行)。问题是如何将sql行数据获取到数组中,以便循环呈现html表行

目前我有,

PHP将SQL列放入HTML表中,将SQL行数据(foreach)放入HTML表行(foreach)

//获取表计数
$countTable=$dbConnect->querySingle(“选择COUNT(*)作为“$table['name']”中的计数);
如果($countTable){
//数据存在,请继续工作
//获取表数据的新查询
$query=$dbConnect->query(“从“$table['name']”中选择*按id顺序描述”);
//初始化数组
$dataColumns=array();
$dataRows=array();
而($row=$query->fetchArray(SQLITE3\u ASSOC))
{
//向数组中添加列,检查值是否存在
foreach($key=>$value的行)
{
if(在_数组(“.$key.”,$dataColumns)中){
//列已在数组中,请不要再次添加。
}否则{
//列不在数组中,请添加它。
$dataColumns[]=数组(
“列”=>$key
);  
}
//在这个foreach中,我是将行值添加到数组中,还是在此循环之外再次添加?
//下面的操作不起作用,只添加到一个数组项中,并呈现一个HTML表行和多个SQL表行值
$dataRows[]=数组(
“行项目”=>$row['.$row.''.]
);
}
}
//构建HTML表
回声';
//从数组中生成列…工作正常
foreach($dataColumns作为$dataColumn){
回显'.$dataColumn['column'].';
}
//关闭表格列标题7开始HTML表格正文。。。
回声';
//问题是,如何将每一行(值为null或不为null)的
回声';
foreach($dataRows作为$dataRow){
回显'.$dataRow['row_item'].';
}
回声';
//关闭表格正文和表格。。。
回声';
}否则{
//表中没有数据
回显“所选表中无数据”;
}
尝试更换

$dataRows[]=array(
    'row_item'=>$row[''.$row.'']
);

将这一行放在while循环内的第一行(或列上foreach循环外的general),因为添加行与分析列无关

然后,在输出foreach中,您应该在
$dataRow
中找到包含从数据库查询中选择的所有列的行(这里用column1、column2等符号表示):

echo';
foreach($dataRows作为$dataRow){
回显'.$dataRow['column1'].';
回显'.$dataRow['column2'].';
回显'.$dataRow['column3'].';
回显'.$dataRow['column4'].';
回显'.$dataRow['column5'].';
回显'.$dataRow['column6'].';
回显'.$dataRow['column7'].';
//等等。
}
回声';
毕竟,您的代码应该如下所示(稍微简化):

$query=$dbConnect->query(“从“$table['name']”中选择*按id顺序描述”);
$dataColumns=array();
$dataRows=array();
而($row=$query->fetchArray(SQLITE3\u ASSOC)){
$dataRows[]=$row;
foreach($key=>$value的行){
//Bilding$dataColumns,请参见问题
}
}
回声';
foreach($dataColumns作为$dataColumn){
回显'.$dataColumn['column'].';
}
回声';
回声';
foreach($dataRows作为$dataRow){
foreach($columnName=>$columnValue的数据行){
回显“.$columnValue.”;
}
}
回声';
回声';
尝试更换

$dataRows[]=array(
    'row_item'=>$row[''.$row.'']
);

将这一行放在while循环内的第一行(或列上foreach循环外的general),因为添加行与分析列无关

然后,在输出foreach中,您应该在
$dataRow
中找到包含从数据库查询中选择的所有列的行(这里用column1、column2等符号表示):

echo';
foreach($dataRows作为$dataRow){
回显'.$dataRow['column1'].';
回显'.$dataRow['column2'].';
回显'.$dataRow['column3'].';
回显'.$dataRow['column4'].';
回显'.$dataRow['column5'].';
回显'.$dataRow['column6'].';
回显'.$dataRow['column7'].';
//等等。
}
回声';
毕竟,您的代码应该如下所示(稍微简化):

$query=$dbConnect->query(“从“$table['name']”中选择*按id顺序描述”);
$dataColumns=array();
$dataRows=array();
而($row=$query->fetchArray(SQLITE3\u ASSOC)){
$dataRows[]=$row;
foreach($key=>$value的行){
//Bilding$dataColumns,请参见问题
}
}
回声';
foreach($dataColumns作为$dataColumn){
回显'.$dataColumn['column'].';
}
回声';
回声';
foreach($dataRows作为$dataRow){
foreach($columnName=>$columnValue的数据行){
回显“.$columnValue.”;
}
}
回声';
回声';

感谢akrys

在while循环中,但在foreach列循环之外

 //$dataRows = array();
 $dataRows[]=$row;
在HTML表格的构建中

 foreach($dataRows as $dataRow){
    echo '<tr>';
    foreach($dataRow as $key => $value){echo '<td>'.$value.'</td>';}
    echo '</tr>';
}
foreach($dataRows作为$dataRow){
回声';
foreach($key=>$value的数据行){echo'.$value'.';}
回声';
}

感谢akrys

在while循环中,但在foreach列循环之外

 //$dataRows = array();
 $dataRows[]=$row;
在HTML表格的构建中

 foreach($dataRows as $dataRow){
    echo '<tr>';
    foreach($dataRow as $key => $value){echo '<td>'.$value.'</td>';}
    echo '</tr>';
}
foreach($dataRows作为$dataRow){
回声';
foreach($key=>$value的数据行){echo'.$value'.';}
回声';
}

我重写了它,以便像这样在一个循环中完成所有操作

$firstRow=true;
回声';
而($row=$query->fetchArray(SQLITE3\u ASSOC)){
如果($firstRow){
回声';
foreach($key=>$value的行){
回显“.$key.”;
}
回声';
回声';
$firstRow=false;
}
回声';
foreach(行作为$value){
回显“.$value.”;
 foreach($dataRows as $dataRow){
    echo '<tr>';
    foreach($dataRow as $key => $value){echo '<td>'.$value.'</td>';}
    echo '</tr>';
}