Php 如何显示mySQL数据库中两个独立表中的值?

Php 如何显示mySQL数据库中两个独立表中的值?,php,mysql,html-table,Php,Mysql,Html Table,我试图使用foreach循环查看两个单独表中的值。用户从下拉列表中选择“开始学期”和“结束学期”,这两个学期存储在名为$semesterarray的数组中 <table style='width: 75%; text-align: left;' cellpadding = '4'> <tr bgcolor=#000090> <th><FONT COLOR = #FFFFFF><b><?php echo $startsem ?>

我试图使用foreach循环查看两个单独表中的值。用户从下拉列表中选择“开始学期”和“结束学期”,这两个学期存储在名为$semesterarray的数组中

<table style='width: 75%; text-align: left;' cellpadding = '4'>
<tr bgcolor=#000090>
<th><FONT COLOR = #FFFFFF><b><?php echo $startsem ?></b></th>
<th><FONT COLOR = #FFFFFF><b><?php echo $endsem ?></b></th>
</tr>

// If $semesterarray contains 10 and 11, I want to be able to view the
// courses taken in the 10 semester and the 11 semester under two separate columns.

<?php
function getSemesterDetails($semester) 
{
    $output = "";
    $semA = $semester."reg";
    $query = "SELECT course1,course2,course3 FROM $semA";
    $result = mysql_query($query) or die(mysql_error());

    while ($row = mysql_fetch_array($result))
    {

            // row displays: [course1]=> [course2]=> [course3]=>

            // Add semester code to array Keys to indicate proper semester
            // [course1.11]=> [course2.11]=> [course3.11]=>

            foreach ($row as $key => $value)
            {
                $row[$key.".".$semester] = $value;
                unset($row[$key]);
            }

        $startcourse1 = $row['course1.'.$semester];
        $startcourse2 = $row['course2.'.$semester];
        $startcourse3 = $row['course3.'.$semester];
        $startcoursesarray = array($startcourse1, $startcourse2, $startcourse3);
        $startcourses = implode("<br>", $startcoursesarray);

        $endcourse1 = $row['course1.'.$semester];
        $endcourse2 = $row['course2.'.$semester];
        $endcourse3 = $row['course3.'.$semester];
        $endcoursesarray = array($endcourse1, $endcourse2, $endcourse3);
        $endcourses = implode("<br>", $endcoursesarray);

        echo "<tr bgcolor=#ABB5F6>
        <td>$startcourses</td>
        <td>$endcourses</td>
        </tr>";
    }
}

foreach ($midsemarrayA as $key => $semester)
{
echo getSemesterDetails($semA);
}

?>

//如果$semesterarray包含10和11,我希望能够查看
//第10学期和第11学期的课程分为两列。

有什么想法吗?

这应该足以让你开始:

function getSemesterDetails ($semester) {
    $output = "";

    $query = "SELECT course1,course2,course3 FROM $semester";
    $result = mysql_query($query) or die(mysql_error());

    while ($row = mysql_fetch_array($result)) {
            // row displays: [course1]=> [course2]=> [course3]=>

            // Add semester code to array Keys to indicate proper semester
            // [course1.11]=> [course2.11]=> [course3.11]=>

            foreach ($row as $key => $value) {
                $row[$key.".".$semester] = $value;
                unset($row[$key]);
            }

        $startcourse1 = $row['course1.'.$semester];
        $startcourse2 = $row['course2.'.$semester];
        $startcourse3 = $row['course3.'.$semester];
        $startcoursesarray = array($startcourse1, $startcourse2, $startcourse3);
        $startcourses = implode("<br>", $startcoursesarray);

        $endcourse1 = $row['course1.'.$semester];
        $endcourse2 = $row['course2.'.$semester];
        $endcourse3 = $row['course3.'.$semester];
        $endcoursesarray = array($endcourse1, $endcourse2, $endcourse3);
        $endcourses = implode("<br>", $endcoursesarray);

        $output .= "<tr bgcolor=#ABB5F6>
        <td>$startcourses</td>
        <td>$endcourses</td>
        </tr>";
    }

return $output;
}

foreach ($semesterarray as $key => $semester) {
     getSemesterDetails($semester);
}
函数getSemesterDetails($Serment){ $output=“”; $query=“从$EXTERM中选择课程1、课程2、课程3”; $result=mysql\u query($query)或die(mysql\u error()); while($row=mysql\u fetch\u数组($result)){ //行显示:[course1]=>[course2]=>[course3]=> //将学期代码添加到数组键以指示正确的学期 //[course1.11]=>[course2.11]=>[course3.11]=> foreach($key=>$value的行){ $row[$key.”“$EXTERM]=$value; 未设置($row[$key]); } $startcourse1=$row['course1..$Serment]; $startcourse2=$row['course2..$Serment]; $startcourse3=$row['course3..$Serment]; $startcoursesarray=array($startcourse1,$startcourse2,$startcourse3); $startcourses=内爆(“
”,$startcoursesarray); $endcourse1=$row['course1..$sement]; $endcourse2=$row['course2..$sement]; $endcourse3=$row['course3..$sement]; $endcoursesarray=数组($endcourse1,$endcourse2,$endcourse3); $endcourses=内爆(“
”,$endcoursesarray); $output.=” $startcourses $endcours "; } 返回$output; } foreach($semesterarray作为$key=>$serment){ getSemesterDetails(学期); }
您希望让它返回一个值数组而不是字符串,但将其转换为子例程应该可以做到这一点。

这应该足以让您开始:

function getSemesterDetails ($semester) {
    $output = "";

    $query = "SELECT course1,course2,course3 FROM $semester";
    $result = mysql_query($query) or die(mysql_error());

    while ($row = mysql_fetch_array($result)) {
            // row displays: [course1]=> [course2]=> [course3]=>

            // Add semester code to array Keys to indicate proper semester
            // [course1.11]=> [course2.11]=> [course3.11]=>

            foreach ($row as $key => $value) {
                $row[$key.".".$semester] = $value;
                unset($row[$key]);
            }

        $startcourse1 = $row['course1.'.$semester];
        $startcourse2 = $row['course2.'.$semester];
        $startcourse3 = $row['course3.'.$semester];
        $startcoursesarray = array($startcourse1, $startcourse2, $startcourse3);
        $startcourses = implode("<br>", $startcoursesarray);

        $endcourse1 = $row['course1.'.$semester];
        $endcourse2 = $row['course2.'.$semester];
        $endcourse3 = $row['course3.'.$semester];
        $endcoursesarray = array($endcourse1, $endcourse2, $endcourse3);
        $endcourses = implode("<br>", $endcoursesarray);

        $output .= "<tr bgcolor=#ABB5F6>
        <td>$startcourses</td>
        <td>$endcourses</td>
        </tr>";
    }

return $output;
}

foreach ($semesterarray as $key => $semester) {
     getSemesterDetails($semester);
}
函数getSemesterDetails($Serment){ $output=“”; $query=“从$EXTERM中选择课程1、课程2、课程3”; $result=mysql\u query($query)或die(mysql\u error()); while($row=mysql\u fetch\u数组($result)){ //行显示:[course1]=>[course2]=>[course3]=> //将学期代码添加到数组键以指示正确的学期 //[course1.11]=>[course2.11]=>[course3.11]=> foreach($key=>$value的行){ $row[$key.”“$EXTERM]=$value; 未设置($row[$key]); } $startcourse1=$row['course1..$Serment]; $startcourse2=$row['course2..$Serment]; $startcourse3=$row['course3..$Serment]; $startcoursesarray=array($startcourse1,$startcourse2,$startcourse3); $startcourses=内爆(“
”,$startcoursesarray); $endcourse1=$row['course1..$sement]; $endcourse2=$row['course2..$sement]; $endcourse3=$row['course3..$sement]; $endcoursesarray=数组($endcourse1,$endcourse2,$endcourse3); $endcourses=内爆(“
”,$endcoursesarray); $output.=” $startcourses $endcours "; } 返回$output; } foreach($semesterarray作为$key=>$serment){ getSemesterDetails(学期); }
您可能希望让它返回一个值数组而不是字符串,但将其转换为子例程应该可以做到这一点。

我不确定您的问题是什么。使用上述代码,我只能查看“10”学期的课程。这是因为底部的echo语句发生在foreach循环的第一次迭代中。是否有一种工作方法可以循环浏览和查看“11”学期的课程?“10”学期和“11”学期在我的数据库中是两个独立的表。我不确定你的问题是什么。根据上面的代码,我只能查看“10”学期的课程。这是因为底部的echo语句发生在foreach循环的第一次迭代中。是否有一种工作方法可以循环浏览和查看“11”学期的课程?“10”学期和“11”学期在我的数据库中是两个独立的表。谢谢你的回复。这似乎没有在我的表上显示值;或者只需切换
$output.=“
返回到
echo”
在这种情况下,我如何从$semestarray获取$semterm而不使用循环?您仍然可以在代码中使用
foreach
来生成$key和$semterm;你只需要在循环中调用getSemesterDetails我编辑了上面的代码,但它仍然只显示10学期的值,而不是11学期的值。谢谢你的回复。这似乎没有在我的表上显示值;或者只需切换
$output.=“
返回到
echo”
在这种情况下,我如何从$semestarray获取$semterm而不使用循环?您仍然可以在代码中使用
foreach
来生成$key和$semterm;你只需要在循环中调用getSemesterDetails我编辑了上面的代码,但它仍然只显示10学期的值,而不是11学期的值。