2 Stimmen

MySQL: Anzeigen von Daten aus einer Tabelle unter Verwendung von IDs aus einer anderen

Ich möchte, dass meine Benutzer in der Lage sind, eine Favoritenliste zu erstellen.

Ich habe zwei Tabellen in einer Datenbank in mySQL. Eine speichert Informationen über Unternehmen und die andere speichert die eindeutigen Benutzer-IDs sowie die IDs aus der ersten Tabelle, die der Benutzer als Favorit markiert hat.

Tabelle 1

ID   | NAME | EMAIL      | PHONE    |
1    | Joe  | a@mail.com | 25634565 |
2    | John | b@mail.com | 43634565 |
3    | Jack | c@mail.com | 65634565 |
4    | James| d@mail.com | 43634565 |
5    | Julie| e@mail.com | 65634565 |
...

Tabelle 2

  USERID   |  FAV1  |  FAV2  |  FAV3  | FAV...
2565325489 | 1      | 3      | 5      |
8596854785 | 3      | 2      | NULL   |
2356256263 | 5      | NULL   | NULL   |
...

Der Output, den ich für einen Benutzer möchte (in diesem Beispiel der erste in Tabelle 2):

Joe  | a@mail.com | 25634565 |
Jack | c@mail.com | 65634565 |
Julie| e@mail.com | 65634565 |

Ich habe bereits JOIN LEFT und Minus-Abfragen versucht, aber es funktioniert einfach nicht. Ich habe ein grundlegendes Verständnis von mySQL und PHP, aber nicht viel.

Ich würde mich sehr über jede Hilfe freuen, welche Vorgehensweise ich wählen sollte.

Ps. Wenn es bessere Möglichkeiten gibt, meine Datenbanken zu strukturieren, würde ich das gerne wissen.

2voto

Sindhara Punkte 1392

Ich würde eine Tabelle mit zwei Feldern verwenden - userID und fav - einen Eintrag für jedes Element erstellen. Und dann...

SELECT table1.name, table1.email, table1.phone FROM table1,table2 WHERE table2.fav = table1.id AND table2.userid = 2565325489

0voto

$result = mysqli_query('SELECT name,email,phone FROM t1 table1 LEFT JOIN table2 t2 ON t1.ID = t2.fav1');  

//Ergebnisse durchlaufen
while ($row = mysqli_fetch_array($result))
{
    echo $row['name']." ".$row['email']." "$row['phone'];
}

0voto

Wählen Sie * aus Tabelle1 InnerJoin (Wählen Sie * aus Tabelle2) als t4 auf Tabelle1.ID = t4.FAV1

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X