Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/293.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 迭代for循环以形成自定义html表_Php_Mysql_Drupal 7 - Fatal编程技术网

Php 迭代for循环以形成自定义html表

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

我想从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=$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代码中使用语法,因为我个人认为这样更可读

  • 首先,我们有一个数据库查询结果,我将其分配给一个PHP数组:
  • $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代码中使用语法,因为我个人认为这样更可读

  • 首先,我们有一个数据库查询结果,我将其分配给一个PHP数组:
  • $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>';
    }