2017-03-03 172 views
0

作爲一名初學者,我並不喜歡串連,但我認爲這對我來說是非常有用的。所以我有一個while語句從數據庫的表中獲取數據。我在下面使用第二個查詢,並在while語句之間顯示來自不同表格的額外信息。如何連接SQL查詢以從數據庫獲取變量?

<?php while($employeeproject=mysqli_fetch_array($resultemp)){ ?> 

<td data-th="Employee"> 

<!-- INNER JOIN EMPLOYEE TO GET NAMES --> 
<?php $sqlemps="SELECT first_name, last_name FROM employees INNER JOIN employeeprojects ON employees.employee_id=employeeprojects.employee_id";$resulempls=mysqli_query($db,$sqlemps);$displayempnames = $resulempls->fetch_assoc();?> 

<?=$displayempnames['first_name'];?> <?=$displayempnames['last_name'];?> 

</td> 
<?php };?> 

while語句從employeeprojects獲取信息,我顯示姓名與employees表連接。它的工作原理,但問題是程序顯示相同的名稱,即使它是不同的employee_id。我想在第二個查詢中連接並添加WHERE子句,但我不知道如何。

喜歡的東西...

$sqlemps="SELECT first_name, last_name FROM employees INNER JOIN employeeprojects ON employees.employee_id=employeeprojects.employee_id WHERE employee_id=<?=$employeeproject['employee_id'];?>"; 

顯然,這將無法工作,所以我怎麼串聯?

回答

2

你不應該加入變量來查詢,你應該參數並將它們綁定...但你不需要做任何的。您可以使用多個連接進行一次查詢。

SELECT first_name, last_name, project_name, client_name 
from projects as p 
join employeeprojects as ep 
on p.id = ep.project_id 
joiN employees as e 
on ep.employee_id = e.employee_id 

演示:http://sqlfiddle.com/#!9/19630e/2

-1

無需串接

$empID = $employeeproject['employee_id']; 
    $sqlemps="SELECT first_name, last_name FROM employees INNER JOIN employeeprojects ON employees.employee_id=employeeprojects.employee_id WHERE employee_id= $empID"; 
+3

這將永遠不會運行。 –

相關問題