Tabellen mit Join verbinden und ausgeben

CreativPur

Erfahrenes Mitglied
guten Morgen,

ich habe drei Tabellen mit Left JOIN verbunden. Die Ausgabe funktioniert auch soweit..
PHP:
include("../system/inc/intern.inc.php");
include("../system/inc/config.inc.php");
include("../system/head.php");
$id = 78;
$id_design = 367;
$zeugnisse_id = 66;

$sql = "SELECT
    date_format( geb_am, '%d.%m.%Y' )geb_am,
    vorname,
    nachname,
    email,
    img_pass,
    design_name,
    design_bild,
    header_text,
    zeugnisse_firma
    FROM
    users
    LEFT JOIN users_design
    ON id_design = $id_design
    LEFT JOIN users_zeugnisse
    ON zeugnisse_id = $zeugnisse_id
    WHERE
    id = $id
";

$user = $pdo->query($sql)->fetch();

echo $user['vorname'].' '.$user['nachname'].'<br />';
echo 'E-Mail: '.$user['email'].'<br /><br />';

echo $user['design_name'].'<br />';
echo 'Design Bild: '.$user['design_bild'].'<br />';
echo 'header_text: '.$user['header_text'].'<br /><br />';

echo 'Zeugnisse: '.$user['zeugnisse_firma'].'<br /><br />';

Wie kann ich jedoch erreichen, dass alle Zeugnisse ($zeugnisse_id) von User 78 ($id) ausgegeben werden und nicht nur die $zeugnisse_id 66?

Vielen Dank
 
Guten Morgen CreativPur!

Sowas erreichst du mit einer sogenannten while-Schleife.

PHP:
while ($row = mysql_fetch_object($sql)) {
    $vorname = $row->VORNAME;
    $nachname = $row->NACHNAME;             
    //weitere variablen deklarieren

echo $vorname;
echo $nachname;

}

Mein Beispielcode würde dir dann schon mal alle Vor- und Nachnamen aus der DB anzeigen.


Beste Grüße!
 
Super.. Vielen Dank..

Dennoch habe ich ein weiteres Problem..

Ich habe ein Form wo ich Werte für die nächste Seite weiter geben möchte..
HTML:
<form action="email-pruefen.php?bewerbungscode='. $bewerbungscode.'" method="GET">
<input  class="form-control" type="" name="bewerbungscode" value="'.$bewerbungscode.'"><br />
<input  class="form-control" type="" name="zusammenstellung_code" value="'.$zusammenstellung_code.'"><br />
<input type="submit" value="Weiter" class="btn btn-info btn-sm">
</form>
Auf der Folgeseite "email-pruefen" habe ich folgendes SELECT..
PHP:
include("../system/inc/intern.inc.php");
include("../system/inc/config.inc.php");
include("../system/head.php");
session_start();

$bewerbungscode = htmlspecialchars($_GET['bewerbungscode']);
$zusammenstellung_code = htmlspecialchars($_GET['zusammenstellung_code']);

$sql = "SELECT
   zusammenstellung_code,
   bewerbungscode,
   email_versenden_id,
   firma_name
   FROM
   users
   LEFT JOIN users_email_versenden
   ON bewerbungscode = $bewerbungscode
   WHERE
   id = $userid
";
$user = $pdo->query($sql)->fetch();

echo $userid. '<br />';
echo $user['email_versenden_id']. '<br />';
echo $user['firma_name']. '<br />';

Ich möchte hiermit über den bewerbungscode die Daten der Tabelle "users_email_versenden" abrufen..
Leider werden nur userid, bewerbungscode, zusammenstellung_code ausgegeben, aber kein firma_name.
Ich habe somit die email_versenden_id und bewerbungscode mit einem Primärschlüssel versehen..
Ich denke mal, dass darin der Fehler steckt, oder ??
 

Anhänge

  • DB.png
    DB.png
    482 KB · Aufrufe: 3
Zurück