在我的CMS php中将类名分组在一起

时间:2012-08-02 17:24:22

标签: php mysql

我完成了一个CMS学校系统,我从头开始创建php练习。我的问题是例如我有会计101,计算机科学101,但会计101必须多次。例如:票务1035,1036都是会计101,它们应该出现在同一个表中,但在我的代码中它显示它们在不同的班级。这是我的代码。

if(isset($_GET['id']))
{
    $category = $_GET['id'];
    $sql = "SELECT * FROM classes WHERE category_id = " . $category;
    $query2 = mysql_query($sql) or die(mysql_error());


    while($row = mysql_fetch_object($query2))
    {
    ?>

    <center><h3><?php echo $row->class_name . '-' . $row->units; ?>  </h3></center>
    <table border ="0" wdith="100%">
    <tr>
    <td>
    <strong>Description: </strong>
    <?php echo $row->class_description; ?>
    </tr>
    </td>
    </table>
    <br/>
    <table border="1" width="44%">
<tr>
    <td width="60"><b>Ticket</b> </td>
    <td width="123"><b>Days</b></td>
    <td width="120"><b>Hours</b></td>
    <td width="64"><b>Room</b></td>
    <td><b>Instructor</b></td>
</tr>


    <tr>
    <td width="60"> <?php echo $row->ticket; ?> </td>
    <td width="123"><?php echo $row->days; ?></td>
    <td width="120"><?php echo $row->start_hours . $row->time_format . '-' . $row->end_hours . $row->time_format2 ;  ?> </td>
    <td width="64"> <?php echo $row->room_number; ?></td>
    <td><?php echo $row->instructor_name;  ?></td>
</tr>

        

    }//end while

}//end if

它在不同的表中显示具有不同票据的会计101,但它应该全部在1个表中。感谢。

1 个答案:

答案 0 :(得分:0)

如果你想在记录中获取记录,则需要一个双循环。例如:

while ($row1 = mysql_fetch_object($query1))
{
  echo $row1->ParentName;

  $query2 = 'select * from `mytable` where `myForeignKey` = ' . $row1->ParentId;

  while ($row2 = mysql_fetch_object($query2))
  {
    echo $row2->ChildName;
  }
}

您也可以进行左连接。如果你需要一个样本,请告诉我。

编辑:

左连接将如下所示:

$sql = "select * from `classes` as a where category_id = '{$category}' left join `tickets` as b on a.id = b.class_id" 

参考。 http://www.w3schools.com/sql/sql_join_left.asp