我有一個sql從哪裏得到我的mysql的行,其中nummer = nummer,但我想從另一個表中獲取一些信息。一個新的sql裏面的sql
<?php
$Id = $_GET['Id'];
$nummer = $_GET['nummer'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT Id, nummer ,start, job_art, work_id, slut FROM rum WHERE nummer = :nummer and slut = ""';
$q = $pdo->prepare($sql);
$q->bindValue(':nummer', $Id);
$q->execute();
$q->setFetchMode(PDO::FETCH_ASSOC);
?>
<?php while ($r = $q->fetch()): ?>
<tr>
<td class="line"><?php echo htmlspecialchars($r['start'])?></td>
<td class="line"><?php echo htmlspecialchars($r['job_art'])?></td>
在這裏,我想從我的TABEL工人得到work_id並張貼作爲行HVEM
<td class="line"><?php if ($r["slut"] == "")
{
echo '<a href="afslut_opgave.php?work_id='.$r["work_id"]. '&Id=' .$r["Id"]. '&nummer=' .$r["nummer"].'" class=bluelink> Afslut</a>';
}
else
{
echo $row["slut"];
}
?></td>
</tr>
<?php endwhile; ?>
我tryed把一個新的SQL,但我ENDWHILE停止信息的其餘部分,我不能看到我的work_id 我該如何解決這個問題?
我的表朗姆酒看起來像這樣
標識---- ---- nummer ------ work_id job_art(表中我只有work_id(可能是畫家PA)
我的表工人看起來像這樣
標識----- work_id ------ HVEM(我想行HVEM到apear)work_id = PA是HVEM =畫家
<?php
$Id = $_GET['Id'];
$nummer = $_GET['nummer'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT Id, nummer ,start, job_art, work_id, slut FROM rum WHERE nummer = :nummer and slut = ""';
$q = $pdo->prepare($sql);
$q->bindValue(':nummer', $Id);
$q->execute();
$q->setFetchMode(PDO::FETCH_ASSOC);
?>
<?php while ($r = $q->fetch()): ?>
<tr>
<td class="line"><?php echo htmlspecialchars($r['start'])?></td>
<td class="line"><?php echo htmlspecialchars($r['job_art'])?></td>
<?php
$work_d = $_GET['work_id'];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT * from rum FULL OUTER JOIN workers on work_id = work_id';
$q = $pdo->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);?>
<td class="line"> <?php echo htmlspecialchars($r['hvem'])?>
</td>
<td height="25"> </td>
</tr>
<?php endwhile; ?>
這裏我得到一個錯誤致命錯誤:未捕獲的excepti與消息
「PDOException」這個工作:)
$sql = 'SELECT hvem from workers INNER JOIN rum on workers.work_id = rum.work_id WHERE nummer = :nummer';
我可能會使用連接或子查詢。向我們展示涉及一些樣本數據和期望結果的表格是一個好主意。 – VMai 2014-09-05 15:45:28
首先:MySQL不支持'FULL OUTER JOIN'。第二:如果工作人員中存在對應的行,則使用左連接並處理NULL值或INNER JOIN。 – VMai 2014-09-05 16:30:49