从 PHP 中的execute_db 返回的数组创建 HTML 表 - 条目重复

我想从 SQL 查询的结果填充 html 表,包含的字段将根据用户所做的选择而变化,因此我想根据查询结果中的内容自动设置标题等。我在网站https://inkplant.com/code/array-to-table上找到了 array_to_table 函数,它执行了我想要的操作,除了数据是重复的:-


预期结果


Formation       Play    

A               SW

S               DL

实际结果


Formation   0   Play    1

A           A   SW      SW

S           S   DL      DL 

我认为这可能与我正在创建的数组类型有关,但我不确定如何更改代码以生成我的预期结果。我不确定是否应该以不同的方式创建数组,或者是否(或如何)应该更改函数以使用我拥有的数组类型。


#用于创建示例表的SQL


CREATE TABLE `example` ( `id` INT NOT NULL AUTO_INCREMENT , `form` VARCHAR(10) NOT NULL , `playcall` VARCHAR(10) NOT NULL , PRIMARY KEY (`id`)) ENGINE = InnoDB;

#样本数据


INSERT INTO `example` (`id`, `form`, `playcall`) VALUES (NULL, 'A', 'SW'), (NULL, 'S', 'DL');

#我的代码


$sql = "SELECT `form` as 'Formation',`playcall` as 'Playcall' FROM `example` ORDER BY `form` DESC";       

$res = execute_db($sql3 $conn);

   

$caption = "Example table";

     

echo array_to_table($res,$caption);


慕婉清6462132
浏览 61回答 1
1回答

Helenr

PDO 默认为PDO::FETCH_BOTH,所以我通过将执行更改为:-$res3 = $conn->query($sql3)->fetchAll(PDO::FETCH_ASSOC);
打开App,查看更多内容
随时随地看视频慕课网APP