Php 如何显示mySQL数据库中两个独立表中的值?
我试图使用foreach循环查看两个单独表中的值。用户从下拉列表中选择“开始学期”和“结束学期”,这两个学期存储在名为$semesterarray的数组中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 ?>
<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学期的值。