1
echo '<div>';
while ($row=mysql_fetch_assoc($result)) 
{ 
    if ($row['Course']!=$old_id) 
    {
        $old_id=$row['Course'];
        echo '</div>
                  <div class="sectitle">'.$row['Course'].'</div>
                  <div style="width:100%;float:left">';
    }
    if ($row['Approved']==1) 
    {
        $coursedate=date("M Y", strtotime($row['Submitted']));
        echo '<div class="nbutton">
            <ul>
                <li><strong><a target="_new" href="' . $row['AssignmentURL'] . '">' . $row['URL'] . '</a></strong></li>
                <li>Instructor: ' . $row['LastName'] . ', ' . $row['FirstName'] . '</li>
                <li>Book: '.$row['TextBook'].'</li>
                <li>Submitted: '.$coursedate.' </li>
            </ul>
        </div>';
    }
}
echo '</div>';

我正在学习 PHP,并匆忙写了这个。现在我对循环的工作原理有了更多的了解,我正试图回到这一点并重新格式化它。

$row 包含 Course 的值,类似于 ESL 1010 或 ENGL 1010,它是每个条目的标准值。如何构建我的循环,以便它使用包含我熟悉的这种方法的东西:

$courses=array_unique($row['Course'])
foreach ($courses as $course)
{... This is where I get lost.

对不起,如果这是一个非常简单的修复。我似乎无法将我的大脑包裹在它周围。

4

1 回答 1

0
$courses = array();
while ($row = mysql_fetch_assoc($result)) {
    $courses[] = $row;
}

现在$courses是一个包含所有课程的数组,您已经从 MySQL 结果集中提取数据并将其存储在一个数组中。现在随心所欲地使用它。

但是,如果可能,您应该避免这样做,因为与一次遍历结果集一行相比,它需要更长的时间并且使用更多的内存。

于 2012-09-28T04:44:57.340 回答