setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $con->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_NUM); $res = array(); $stmt = $con->prepare('SELECT asset.id,asset.description,asset.assettype,truckasset.model,truckasset.license,truckasset.towcapacity FROM asset JOIN truckasset ON asset.id = truckasset.id'); $stmt->execute(array()); while($row = $stmt->fetch()) { $res[] = new TruckAsset($row[0], $row[1], $row[3], $row[4], $row[5]); } $stmt = $con->prepare('SELECT asset.id,asset.description,asset.assettype,trailerasset.ownweight,trailerasset.maxcargo,trailerasset.roof FROM asset JOIN trailerasset ON asset.id = trailerasset.id'); $stmt->execute(array()); while($row = $stmt->fetch()) { $res[] = new TrailerAsset($row[0], $row[1], $row[3], $row[4], $row[5]); } $stmt = $con->prepare('SELECT asset.id,asset.description,asset.assettype,toolasset.tooltype,toolasset.name,toolasset.weight FROM asset JOIN toolasset ON asset.id = toolasset.id'); $stmt->execute(array()); while($row = $stmt->fetch()) { $res[] = new ToolAsset($row[0], $row[1], $row[3], $row[4], $row[5]); } foreach($res as $o) { if($o instanceof TruckAsset) { echo sprintf('%d %s %s %s %d', $o->id, $o->description, $o->model, $o->license, $o->towcapacity) . "\r\n"; } if($o instanceof TrailerAsset) { echo sprintf('%d %s %d %d %d', $o->id, $o->description, $o->ownWeight, $o->maxCargo, $o->roof) . "\r\n"; } if($o instanceof ToolAsset) { echo sprintf('%d %s %s %s %d', $o->id, $o->description, $o->toolType, $o->name, $o->weight) . "\r\n"; } } ?>