我创建了一个模块,用于使用PHP,jQuery和MySQL来搜索和返回结果。
我在数据库中有两个表,我试图从中提取:项目和客户。在项目表中,保存了Client_ID。
现在我正在尝试检索clientName WHERE projects.Client_ID = clients.Client_ID
这是我的代码:
$dbc = @mysqli_connect($db_host, $db_user, $db_pass,
$db_name);
if (!$dbc) {
trigger_error('Could not connect to MySQL: ' . mysqli_connect_error());
}
if(isset($_GET['keyword'])){
$keyword = trim($_GET['keyword']) ;
$keyword = mysqli_real_escape_string($dbc, $keyword);
$query = "SELECT projects.Client_ID, projects.projectNumber, projects.projectName, projects.projectManager, projects.expectedDate, projects.address, projects.CreationDate FROM projects WHERE projectNumber like '%$keyword%' or projectName like '%$keyword%' or address like '%$keyword%'";
$result = mysqli_query($dbc,$query);
if($result){
if(mysqli_affected_rows($dbc)!=0){
while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){
echo '<li> <b>'.$row['projectNumber'].'</b> - '.$row['projectName'].
'<table width=\"100%\">
<tr >
<td><b>Project Manager</b></td>
<td><b></b></td>
<td width=\"200px\"><b>Address</b></td>
<td><b>Expected Date</b></td>
<td><b>Created Date</b></td>
</tr>
<tr><td colSpan=\"5\"></td></tr>
<tr>
<td><i>'.$row['projectManager'].'</i></td>
<td><i></i></td>
<td><i>'.$row['address'].'</i></td>
<td><i>'.$row['expectedDate'].'</i></td>
<td><i>'.$row['CreationDate'].'</i></td>
</tr>
</table>
</li>
<hr />' ;
}
}else {
echo 'No Results for :"'.$_GET['keyword'].'"';
}
}
}else {
echo 'Parameter Missing';
}
?>
我迷路了。我自己尝试了很多东西但无济于事。
目标是显示存储在客户端数据库中的clientName。重要的代码是查询。
如果不清楚,请告诉我其他可以提供的详细信息。
答案 0 :(得分:0)
好的,如果我理解正确,你需要客户端表中的客户端名称,基于项目表中的client_ID。
您需要将第15行的SQL查询修改为
$query = "SELECT clients.clientName, projects.Client_ID, projects.projectNumber, projects.projectName, projects.projectManager, projects.expectedDate, projects.address, projects.CreationDate
FROM projects
LEFT JOIN clients on projects.Client_id = clients.Client_ID
WHERE projectNumber like '%$keyword%' or projectName like '%$keyword%' or address like '%$keyword%'";
你需要将它输出到某个地方的表中,所以在你的循环中显示放在变量中的数据
$row['clientName']