Hallo,
Ich mache sowas mit zwei Joins, und zur Unterscheidung nehme ich Table Aliase.
SELECT s.bereich_name as Sender, e.bereich_name as Empfaenger FROM todo_grunddaten g LEFT JOIN todo_bereich s ON g.bereichSender = s.tb_code LEFT JOIN todo_bereich e ON g.bereichEmpfaenger = e.tb_code
verstehe ich ehrlich gesagt nicht so recht. Woher kommen z.B. diese "s.bereich_name as Sender, e.bereich_name as Empfaenger" Werte? Ich habe es mal in meine Funktion eingesetzt
function ToDoUebersicht($mysqli) {
$stmt = $mysqli->prepare("SELECT id, code, kurzbeschreibung, art, erstellungsdatum, job, bereichSender, apSender, bereichEmpfaenger, apEmpfaenger, prio, status,
fertigstellung_sender, fertigstellung_uhrzeit_sender, fertigstellung_empfaenger, fertigstellung_uhrzeit_empfaenger, beschreibung,
ta_titel, tp_titel, ts_titel, tb_titelkurz, s.bereich_name as Sender, e.bereich_name as Empfaenger
FROM todo_grunddaten
LEFT JOIN todo_art ON todo_art.ta_code = todo_grunddaten.art
LEFT JOIN todo_prio ON todo_prio.tp_code = todo_grunddaten.prio
LEFT JOIN todo_status ON todo_status.ts_code = todo_grunddaten.status
LEFT JOIN todo_bereich s ON g.bereichSender = s.tb_code
LEFT JOIN todo_bereich e ON g.bereichEmpfaenger = e.tb_code");
$stmt->execute();
$stmt->bind_result($id, $code, $kurzbeschreibung, $art, $erstellungsdatum, $job, $bereichSender, $apSender, $bereichEmpfaenger, $apEmpfaenger, $prio, $status,
$fertigstellung_sender, $fertigstellung_uhrzeit_sender, $fertigstellung_empfaenger, $fertigstellung_uhrzeit_empfaenger, $beschreibung, $ta_titel, $tp_titel,
$ts_titel, $tb_titelkurz, $Sender, $Empfaenger);
$stmt->store_result();
if($stmt->num_rows() > 0) {
while ($stmt->fetch()){
$ToDoUebersicht[] = array(
'id' => $id,
'code' => $code,
'kurzbeschreibung' => $kurzbeschreibung,
'art' => $art,
'erstellungsdatum' => $erstellungsdatum,
'job' => $job,
'bereichSender' => $bereichSender,
'apSender' => $apSender,
'bereichEmpfaenger' => $bereichEmpfaenger,
'apEmpfaenger' => $apEmpfaenger,
'prio' => $prio,
'status' => $status,
'fertigstellung_sender' => $fertigstellung_sender,
'fertigstellung_uhrzeit_sender' => $fertigstellung_uhrzeit_sender,
'fertigstellung_empfaenger' => $fertigstellung_empfaenger,
'fertigstellung_uhrzeit_empfaenger' => $fertigstellung_uhrzeit_empfaenger,
'beschreibung' => $beschreibung,
'ta_titel' => $ta_titel,
'tp_titel' => $tp_titel,
'ts_titel' => $ts_titel,
'tb_titelkurz' => $tb_titelkurz,
'Sender' => $Sender,
'Empfaenger' => $Empfaenger
);
}
return $ToDoUebersicht;
}
}
Allerdings erhalte ich dann eine Fehlermeldung
Fatal error: Call to a member function execute() on boolean in