在php中使用ajax创建基于数据库数组元素的html表

在php中使用ajax创建基于数据库数组元素的html表,php,html,arrays,Php,Html,Arrays,我有一个网站,你可以选择一个表的一行,这将显示另一个表,而无需刷新页面。新表基于转换为数组并以逗号分隔的字符串 该表是在服务器端生成的,而不是在包含php元素的html中生成的。我似乎无法让表以数组的形式显示原始字符串的所有元素,并以行的形式动态添加它们 以下是服务器端代码: if (isset($_GET['query'])) { $id = $_GET['query']; $query = "SELECT * FROM samples_database WHERE sampl

我有一个网站,你可以选择一个表的一行,这将显示另一个表,而无需刷新页面。新表基于转换为数组并以逗号分隔的字符串

该表是在服务器端生成的,而不是在包含php元素的html中生成的。我似乎无法让表以数组的形式显示原始字符串的所有元素,并以行的形式动态添加它们

以下是服务器端代码:

if (isset($_GET['query'])) {
    $id = $_GET['query'];
    $query = "SELECT * FROM samples_database WHERE sample_id=$id;";


    $result = mysqli_query($connect, $query);

    $input = mysqli_fetch_array($result);

    $input1 = $input['micro_analysis'];

    $rows = var_dump(explode(',', $input1));

    if (count($rows) > 0) {
        $output .= 
        '<thead>
        <tr>
        <th>Tests</th>                      
        </tr>                                   
        </thead>
        <tbody>';
        foreach ($rows as $row): array_map('htmlentities', $row);
            '<tr>
            <td>'; echo implode('</td><td>', $row); 
            '</td>                
            </tr>';
        endforeach;  
        '</tbody>';
    }
    echo $output;
}
使用
var_dump(explode(',',$input1))时它生成如下数组:

$input1 = "1,2,44,67";
array(4){[0]=>string(1)“1”[1]=>string(1)“2”[2]=>string(2)“44”[3]=>string(2)“67”}

所以现在我需要表在列tests下创建一个带“1”的行,然后是一个带“2”的新行,依此类推


有人能帮忙吗?

首先从
$rows=var\u dump(explode(',',$input1))中删除
var\u dump
。还需要将每个html字符串附加到
$output
,并在末尾回显它

代码应该类似于:

$rows = explode(',', $input1);
$output = "";
if (count($rows) > 0) {
    $output .= '<thead><tr><th>Tests</th></tr></thead><tbody>';
    foreach ($rows as $row): array_map('htmlentities', $row);
        $output .= '<tr><td>' . implode('</td><td>', $row) . '</td></tr>';
    endforeach;
    $output .= '</tbody>';
}
echo $output;
$rows=explode(',',$input1);
$output=“”;
如果(计数($rows)>0){
$output.='Tests';
foreach($row作为$row的行):数组映射('htmlentities',$row);
$output.=''。内爆(''.$row)。'';
endforeach;
$output.='';
}
echo$输出;

首先从
$rows=var\u dump(explode(',',$input1))中删除
var\u dump
。还需要将每个html字符串附加到
$output
,并在末尾回显它

代码应该类似于:

$rows = explode(',', $input1);
$output = "";
if (count($rows) > 0) {
    $output .= '<thead><tr><th>Tests</th></tr></thead><tbody>';
    foreach ($rows as $row): array_map('htmlentities', $row);
        $output .= '<tr><td>' . implode('</td><td>', $row) . '</td></tr>';
    endforeach;
    $output .= '</tbody>';
}
echo $output;
$rows=explode(',',$input1);
$output=“”;
如果(计数($rows)>0){
$output.='Tests';
foreach($row作为$row的行):数组映射('htmlentities',$row);
$output.=''。内爆(''.$row)。'';
endforeach;
$output.='';
}
echo$输出;

如果
$input1
是一个用逗号分隔的简单字符串,那么这样的字符串就足够了:
$input1 = "1,2,44,67";

$rows = explode(',', $input1);
$output = "";
if (count($rows) > 0) {
    $output .= '<thead><tr><th>Tests</th></tr></thead><tbody>';
    foreach ($rows as $row){
        $output .= '<tr><td>' . $row . '</td></tr>';
    }
    $output .= '</tbody>';
}
echo $output;
$input1=“1,2,44,67”;
$rows=分解(“,”,$input1);
$output=“”;
如果(计数($rows)>0){
$output.='Tests';
foreach($行作为$行){
$output.=''.$row';
}
$output.='';
}
echo$输出;

无需再次使用
array\u map
explode
,只需在
$rows
中循环每个结果并使用字符串连接即可。

如果
$input1
是一个由逗号分隔的简单字符串,那么类似这样的内容就足够了:
$input1 = "1,2,44,67";

$rows = explode(',', $input1);
$output = "";
if (count($rows) > 0) {
    $output .= '<thead><tr><th>Tests</th></tr></thead><tbody>';
    foreach ($rows as $row){
        $output .= '<tr><td>' . $row . '</td></tr>';
    }
    $output .= '</tbody>';
}
echo $output;
$input1=“1,2,44,67”;
$rows=分解(“,”,$input1);
$output=“”;
如果(计数($rows)>0){
$output.='Tests';
foreach($行作为$行){
$output.=''.$row';
}
$output.='';
}
echo$输出;

无需再次使用
array\u map
explode
,只需在
$rows
中循环每个结果并使用字符串连接。

在foreach中,您不回显html,只需将其置于无回显的状态,只回显$rowI的内爆即可。继续获取以下错误:为foreach()提供的参数无效在…中,因为您将var_dump分配给$rows,var_dump不会生成可用的变量,仅输出,foreach需要一个数组,$rows为null/empty在foreach中,您不回显html,只是将其置于无回显的状态,您只回显$row的内爆。我一直收到以下错误:为foreach()提供的参数无效在…中,因为您将var_dump分配给$rows,所以var_dump不会生成可用的变量,只生成输出,foreach需要一个数组,$rows为null/emptyThank这比我想象的要简单得多!谢谢,这比我想象的简单多了!