Php 迭代for循环以形成自定义html表
我想从db查询中用php形成一个自定义html表。我的sql查询是Php 迭代for循环以形成自定义html表,php,mysql,drupal-7,Php,Mysql,Drupal 7,我想从db查询中用php形成一个自定义html表。我的sql查询是 $query = db_select('taxonomy_term_data','td'); $query->join('drone','dg','dg.tid = td.tid '); $query->fields('td',array('tid','name')); $query->fields('dg',array('drone_name')); $result=$quer
$query = db_select('taxonomy_term_data','td');
$query->join('drone','dg','dg.tid = td.tid ');
$query->fields('td',array('tid','name'));
$query->fields('dg',array('drone_name'));
$result=$query->execute()->fetchAll();
查询返回的数据如下所示:
Drone Name Drone Assigned
Huge DJI
Huge Parrot
Beginner Skydio
Beginner Insitu
Beginner EHANG
但是我越来越
Drone Name Drone Assigned
Beginner DJI, Parrot, Skydio,Insitu,EHANG
好的,这里有一种方法,我将在HTML代码中使用语法,因为我个人认为这样更可读
$results=[
['name'=>'mage','assigned'=>'DJI'],
['name'=>'ground','assigned'=>'Parrot'],
['name'=>'初学者','assigned'=>'Skydio'],
['name'=>'初学者','assigned'=>'Insitu'],
['name'=>'初学者','assigned'=>'EHANG'],
];
foreach
循环,该循环将生成一个数组,其形式为$array['drone\u name']=['assigned\u drone','…']
:$drone=[];
foreach($结果为$drone){
如果(!array_key_存在($drone['name'],$drone)){
$drone[$drone['name']]=[];
}
$drone[$drone['name']][=$drone['assigned'];
}
foreach
循环(可选语法)在HTML表中打印这些值:
无人机名称
指定无人机
好的,这里有一种方法,我将在HTML代码中使用语法,因为我个人认为这样更可读
$results=[
['name'=>'mage','assigned'=>'DJI'],
['name'=>'ground','assigned'=>'Parrot'],
['name'=>'初学者','assigned'=>'Skydio'],
['name'=>'初学者','assigned'=>'Insitu'],
['name'=>'初学者','assigned'=>'EHANG'],
];
foreach
循环,该循环将生成一个数组,其形式为$array['drone\u name']=['assigned\u drone','…']
:$drone=[];
foreach($结果为$drone){
如果(!array_key_存在($drone['name'],$drone)){
$drone[$drone['name']]=[];
}
$drone[$drone['name']][=$drone['assigned'];
}
foreach
循环(可选语法)在HTML表中打印这些值:
无人机名称
指定无人机
您可以更改sql查询以获得如下格式的结果:
$result = db_query("SELECT dg.drone_name , GROUP_CONCAT(td.name) FROM taxonomy_term_data td
INNER JOIN drone dg ON dg.tid = td.tid GROUP BY dg.drone_name")->fetchAllKeyed();
foreach ($result as $drone_name => $drones_assigned){
$drone_table.='<tr>
<td>'.$drone_name.'</td>
<td>'.$drones_assigned.'</td>
</tr>';
}
$result=db\u query(“从分类法\u术语\u数据td中选择dg.drone\u名称、组\u CONCAT(td.name))
通过dg.drone_name“->fetchAllKeyed()在dg.tid=td.tid组上内部连接无人机dg;
foreach($drone\u name=>$drone\u分配的结果){
$drone_表='
“.$drone_name”
“.$无人驾驶飞机已分配。”
';
}
此外,您还可以通过drupal查看主题表呈现,轻松创建html表。您可以更改sql查询以获得如下格式的结果:
$result = db_query("SELECT dg.drone_name , GROUP_CONCAT(td.name) FROM taxonomy_term_data td
INNER JOIN drone dg ON dg.tid = td.tid GROUP BY dg.drone_name")->fetchAllKeyed();
foreach ($result as $drone_name => $drones_assigned){
$drone_table.='<tr>
<td>'.$drone_name.'</td>
<td>'.$drones_assigned.'</td>
</tr>';
}
$result=db\u query(“从分类法\u术语\u数据td中选择dg.drone\u名称、组\u CONCAT(td.name))
通过dg.drone_name“->fetchAllKeyed()在dg.tid=td.tid组上内部连接无人机dg;
foreach($drone\u name=>$drone\u分配的结果){
$drone_表='
“.$drone_name”
“.$无人驾驶飞机已分配。”
';
}
此外,您还可以通过drupal查看主题表呈现,轻松创建html表您可以表示查询返回的数据样本吗?我还建议以后使用更可读的变量,因为你的代码是不可读的。为什么不给我们看数组?????@RaedYakoubi我已经编辑了我的问题。请看一看,因此您只需在表中打印查询,例如,如果有3个初学者无人机,您只需在“无人机名称”单元格中打印一个
初学者
,并在其他单元格中打印所有分配的无人机,对吗?@RaedYakoubi YesCan您表示查询返回的数据样本?我还建议以后使用更可读的变量,因为你的代码是不可读的。为什么不给我们看数组?????@RaedYakoubi我已经编辑了我的问题。请看一看,所以您只需要在表中打印查询,例如,如果有3个初学者无人机,您只需在“无人机名称”单元格中打印一个初学者
,并在其他单元格中打印所有分配的无人机,对吗?@RaedYakoubi YesThanks@Fky,这就是我想要的。一个sql查询!!谢谢@Fky,这就是我想要的。一个sql查询!!
Drone Name Drone Assigned
Beginner DJI, Parrot, Skydio,Insitu,EHANG
$result = db_query("SELECT dg.drone_name , GROUP_CONCAT(td.name) FROM taxonomy_term_data td
INNER JOIN drone dg ON dg.tid = td.tid GROUP BY dg.drone_name")->fetchAllKeyed();
foreach ($result as $drone_name => $drones_assigned){
$drone_table.='<tr>
<td>'.$drone_name.'</td>
<td>'.$drones_assigned.'</td>
</tr>';
}