PHP和sql diplay项

PHP和sql diplay项,php,mysql,Php,Mysql,我在显示来自sql的数据方面遇到了一些问题。 我将数据存储到两个表中:表student和表company 桌上学生 {id、姓名、公司代码、工厂员工id} 餐桌公司 {id,公司名称,公司州} 我正在尝试创建一个如下所示的表 州A A公司 学生1 学生2 B公司 学生3 学生4 B国 C公司 学生5 D公司 学生6 学生7 学生8 我试图创建一个类似于上述结构的表,但只想根据公司的状态对所有学生进行分类。输出仅显示一个状态,并将所有学生置于该状态

我在显示来自sql的数据方面遇到了一些问题。 我将数据存储到两个表中:表student和表company

桌上学生 {id、姓名、公司代码、工厂员工id}

餐桌公司 {id,公司名称,公司州}

我正在尝试创建一个如下所示的表

  • 州A

    • A公司

      • 学生1
      • 学生2
    • B公司

      • 学生3
      • 学生4
  • B国

    • C公司

      • 学生5
    • D公司

      • 学生6
      • 学生7
      • 学生8
我试图创建一个类似于上述结构的表,但只想根据公司的状态对所有学生进行分类。输出仅显示一个状态,并将所有学生置于该状态

          $querysel = "SELECT DISTINCT c.company_state,s.fac_staff_id FROM tblcompany 
           c, tblstudent s WHERE c.id = s.company_code " ;
          $resultsel = mysql_query($querysel, $connection);
          $querystdsel = "SELECT s.name,c.company_state  FROM tblcompany c,
           tblstudent s WHERE c.id = s.company_code " ;
          $resultstdsel = mysql_query($querystdsel, $connection);

    while($rowsel =mysql_fetch_array($resultsel)){

    if ($rowsel['fac_staff_id'] == NULL){

    echo $rowsel['company_state'];

    while($rowstdsel =mysql_fetch_array($resultstdsel)){

    if($rowstdsel['company_state']=$rowsel['company_state']){

      echo $rowstdsel['name']; 

    }

    }

    }
      }       

希望有人能告诉我如何创建一个像上面这样的表或任何其他方法,因为我仍然在php和mysql方面很差。谢谢你

你应该加入你的陈述,只有一个结果,每一行都是这样写的“按公司名称、公司状态下的订单”

在php中,然后使用列表获取结构。类似这样:只是写下来,没有漂亮、干净、功能性的代码

<?php

$rows = mysqli_fetch_array($result);

echo "<ul>";

$lastcompany = "";
$laststate = "";

foreach($rows as $row)
{
  if(($laststate == "") or ($laststate != $row['state']))
  {
    // New Item on mainlist: states

    if($laststate != $row['state'])
    { // close previous lists (students, companies)
      echo "</ul></ul></li>";
    }

    echo "<li>".$row['state'];    
  }


  if(($lastcompany == "") or ($lastcompany != $row['company']))
  {
    // New Item on mainlist: companies

    if($lastcompany != $row['company'])
    { // close previous (students) list
      echo "</ul></li>";
    }

    echo "<li>".$row['company'];    
  }

  // New student entry
   echo "<li>".$row['company']."</li>";


  // Redmine company and state for next iteration
  $lastcompany = $row['company'];
  $laststate = $row['state'];
}


// After all close all lists
echo "</ul></ul></ul>";

?>


能否发布有效的PHP代码,并正确缩进
echo['company\u state']
缺少变量名。为什么在前4行中的
$
周围有反勾号?不要对PHP mysql使用
mysql\uUcode>!它已被弃用。使用PDO或MySQLi。很抱歉在编辑时出错。基本上,代码仍然不完整,我正在尝试让代码可以搜索公司\ U状态,然后只搜索组到公司\ U名称,但失败了。实际上,我尝试使用一个语句查询,但它也给我带来了相同的结果$querysel=“从tblcompany c、tblstudent s中选择*,其中c.id=s.company\U code”还是我应该使用JOIN?无论如何,我将尝试使用与您使用的相同的方法来实现。实际上,我尝试根据结构生成一个表,在该表中,学生将在该公司名称后按州分组。
<?php

$rows = mysqli_fetch_array($result);

echo "<ul>";

$lastcompany = "";
$laststate = "";

foreach($rows as $row)
{
  if(($laststate == "") or ($laststate != $row['state']))
  {
    // New Item on mainlist: states

    if($laststate != $row['state'])
    { // close previous lists (students, companies)
      echo "</ul></ul></li>";
    }

    echo "<li>".$row['state'];    
  }


  if(($lastcompany == "") or ($lastcompany != $row['company']))
  {
    // New Item on mainlist: companies

    if($lastcompany != $row['company'])
    { // close previous (students) list
      echo "</ul></li>";
    }

    echo "<li>".$row['company'];    
  }

  // New student entry
   echo "<li>".$row['company']."</li>";


  // Redmine company and state for next iteration
  $lastcompany = $row['company'];
  $laststate = $row['state'];
}


// After all close all lists
echo "</ul></ul></ul>";

?>