Ich bin neu in PHP und ich kann einfach meinen Code nicht herausfinden. Ich benutze MySQL und PHP.PHP, MySQL - JOINs
Tabelle: Person PK: PersonId Andere Felder: Nachname, Vorname, HireDate, ImgName
Tabelle: validMajors PK: majorAbbrev Andere Felder: majorDesc
(Junction) Tabelle: personMajors personID, majorAbbrev
Wenn ich meinen Code ausführen (mit NATURAL JOIN
) wird das Bild angezeigt, zuletzt & Vorname und Einstellungsdatum. Was großartig ist! Aber ich brauche es, um ihre Majors anzuzeigen (ich möchte, dass das majorAbbrev angezeigt wird). Es werden auch keine Personen angezeigt, die sich in der Personentabelle befinden, aber nicht in der personMajors-Tabelle. Dies ist ein Problem, da wir Mitarbeiter in der Personentabelle haben (die keine Hauptperson haben, da sie keine Schüler sind).
Hier ist mein Code:
<table align="center">
<?php
$connection = mysqli_connect(DBHOST, DBUSER, DBPASS, DBNAME);
if (mysqli_connect_errno()) {
die(mysqli_connect_error());
}
$sql = "SELECT * FROM person NATURAL JOIN personMajors ORDER BY lastName";
if ($result = mysqli_query($connection, $sql)) {
// loop through the data
$columns=4;
$i = 0;
while($row = mysqli_fetch_assoc($result))
{
if($i % $columns ==0){
echo "<tr>";
}
echo "<td class='staffImage badgeText frameImage displayInLine'>" . "<img src='images/staff/".$row['imgName'].".jpg'>". "<br>".
"<strong>" . $row['firstName'] . "</strong>" ." ".
"<strong>" . $row['lastName'] . "</strong>" . "<br>" .
"Hire Date: ".$row['hireDate'] ."</td>";
"Major: " .$row['majorAbbrev'] ."</td>"; //Does not display
if($i % $columns == ($columns - 1)){
echo "</tr>";
}
$i++;
}
// release the memory used by the result set
mysqli_free_result($result);
}
// close the database connection
mysqli_close($connection);
?>
</table>
Irgendwelche Ideen/Lösung sehr geschätzt wird!
Ihr zweiter Vorschlag hat das majorAbbrev angezeigt! Was ist nur der Fortschritt, den ich für jetzt brauchte, danke! –