<?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>";
?>
Ich habe diesen Code und es funktioniert sehr gut, aber ich konfrontiert Problem, wenn ich mehr Spalte hinzufügen möchte. Ich habe versucht, vierte Spalte hinzuzufügen (echo "<td>" . $row["crd"]. "</td>";
), aber es gibt kein Ergebnis .Es gibt mir leere Zellen. Wie kann ich das machen?Wie mit Arrays in PHP Sprache umgehen
Ich möchte hinzufügen dieses Echo "<td>" . $row["crd"]. "</td>";
Spalte zu meinem Code hinzufügen.
Ihre Variable heißt '$ data', nicht' $ row'. Sie erstellen in Ihrer ersten Schleife ein Array mit dem Namen '$ data' und wiederholen es später. Sie verwenden auch $ data in der inneren foreach, die den Inhalt überschreiben wird. Sie sollten eine dieser Variablen umbenennen. – andrewsi
Englisch ist auch nicht meine Muttersprache, aber Sie sollten sich wirklich die Mühe machen zu verstehen, dass es "Arrays" und nicht "Arraies" ist ... – raidenace