0

私はデータベーステーブルを持っています

course(id, name, duration);
subject (id, course_id, elective_id, name)

subject テーブルのサンプル データは次のとおりです。

1, 100, NULL, subject1
2, 100, NULL, subject2
3, 100, NULL, subject3
4, 100, 1, subject4
5, 100, 1, subject5
6, 100, 2, subject6
7, 100, 2, subject7
8, 100, 1, subject8
9, 100, 2, subject9

NULL を含む行は主要科目で、その他は選択科目です。次のようにhtmlでフォーマットを表示したい...

<ul id="select">
    <li>subject1</li>
    <li>subject2</li>
    <li>subject3</li>

    <li>
        <ul id="elective1">
            <li>subject4</li>
            <li>subject5</li>
            <li>subject8</li>
        </ul>
    </li>

    <li>
        <ul id="elective2">
            <li>subject6</li>
            <li>subject7</li>
            <li>subject9</li>
        </ul>
    </li>
</ul>

これは私が試したもので、うまくいきません:

SQL = 'SELECT * FROM subject ORDER BY elective_id ASC';

ロジック:

<ul id="select">
foreach($resource as $field){
  if($field->elective_id == NULL){
     echo '<li>'.$field->name.'</li>';
  } else {
     echo '<li>';
     echo '<ul id="'.$field->elective_id.'">';
     echo '<li>'.$field->name.'</li>';
     echo '</ul>';
     echo '</li>';
  }
}
</ul>
4

0 に答える 0