如何基于db字段创建循环?

时间:2012-09-28 03:58:12

标签: php loops

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包含课程的值,类似于ESL 1010或ENGL 1010,它是每个条目的标准值。我如何构建循环,以便它使用包含我熟悉的方法的东西:

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

很抱歉,如果这是一个非常简单的修复程序。我似乎无法将我的大脑包裹起来。

1 个答案:

答案 0 :(得分:0)

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

现在$courses是一个包含所有课程的数组,您已从MySQL结果集中提取数据并将其存储在数组中。不管你现在想做什么都可以。

如果可能的话,你应该避免这样做,因为它需要更长的时间并且使用更多的内存而不是一次遍历结果集。

相关问题