<?php
$con = mysqli_connect('localhost', 'root', '');
if(!$con)
{
die("not ok");
}
mysqli_select_db($con,"uoh");
$q1 = "SELECT * FROM student_record INNER JOIN degree_plan ON
student_record.course_number = degree_plan.course_number
INNER JOIN courses ON student_record.course_number =
courses.course_number where student_record.id = 201102887 AND degree_plan.major='COE'";
$result = mysqli_query($con , $q1) ;
$data = array();
while($row = mysqli_fetch_array($result))
{
$data[$row["term_no"]][] = array(
'code' => $row["code"],
'grade' => $row["grade"]
);
}
echo '<table width="200" border="1">';
echo "<tr>";
echo "<th>courses</th>";
echo "<th>terms</th>";
echo "<th>grades</th>";
echo "</tr>";
foreach($data as $term=>$otherrow) {
$count = 0;
foreach ($otherrow as $data) {
if($count == 0) {
echo "<tr>";
echo "<td>" . $data["code"]. "</td>";
echo '<td rowspan="'.count($otherrow).'">' . $term. '</td>';
echo "<td>" . $data["grade"]. "</td>";
echo "</tr>";
}
else
{
echo "<tr>";
echo "<td>" . $data["code"]. "</td>";
echo "<td>" . $data["grade"]. "</td>";
echo "</tr>";
}
$count++;
}
}
echo "</table>";
?>
私はこのコードを持っていますが、それはうまく機能しますが、もっと列を追加したいときに問題に直面しました。 4列目(echo "<td>" . $row["crd"]. "</td>";
)を追加しようとしましたが、結果がありません。空のセルがあります。どのように私はそれを行うことができますか?PHP言語で配列を処理する方法
私はこのエコー"<td>" . $row["crd"]. "</td>";
列を自分のコードに追加したいと思います。
変数は '$ row'ではなく' $ data'と呼ばれます。最初のループの中に '$ data'という配列を作成しておき、それを後で繰り返します。内側のforeach内で '$ data'を再利用しています。これは内容を上書きします。これらの変数の名前を変更する必要があります。 – andrewsi
英語は私の母国語ではありませんが、実際にはそれが 'arraies'ではなく'配列 'であることを理解する努力をする必要があります。 – raidenace