Ich versuche, meinen Kopf rund um die Normalisierung Tabellen zu wickeln, den Code, den ich unten zusammengestellt habe, ist für Demozwecke und ist keine Produktion. Ich habe zwei Tabellen erstellt, eine users
Tabelle und eine eye_color
Tabelle, so dass ich eine Eins-zu-viele-Beziehung zwischen zwei haben kann.Lerntabelle Joins in PHP mysqli
Was ich tun möchte ist, den Benutzer und ihre Augenfarbe mit Namen zu zeigen, aber sogar versuchen, ein Ergebnis zurückzugeben ist schwierig für mich und ich frage mich, wo ich falsch liege habe ich gesucht und gesucht, aber ich lerne besser aus Diskussion:
$sql = "SELECT *
FROM users
INNER JOIN eye_color
ON user.eye_color = eye_color.id";
$result = mysqli_query($conn, $sql);
if (mysqli_num_rows($result) > 0) {
while($row = mysqli_fetch_assoc($result)) {
echo $row['id'];
echo $row['eye_color'];
}
} else{
echo 'No results';
}
ich bin nicht für ein völliges Antwort mich auf der Suche nach Rat suchen, damit ich vorwärts bewegen und mein Verständnis fortzusetzen.
Meine Tabellenstruktur ist wie folgt aus:
Table name: users
id (PK)
name
email (Unique)
eye colour (FK)
Table name: eye_color
id (PK)
color
Möglicherweise möchten Sie eine linke Verbindung statt einer inneren Verbindung. [Dies ist eine gute Erklärung der verschiedenen Arten von Joins] (https://blog.codinghorror.com/a-visual-explanation-of-sql-joins/) – aynber
Wird es viele mögliche Augenfarben für einen Benutzer geben? wenn ja links beitreten brauchen Sie –
@PeterDarmis Nun, jeder Benutzer wird in diesem Beispiel eine einzige Augenfarbe gegeben werden – danjbh