我创建了一个模块,使用PHP, jQuery和MySQL来搜索和返回结果。
我在DB中有2个表,我试图从拉:项目和客户。在项目表中保存了一个Client_ID。
现在我试图检索clientName WHERE项目。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。重要的代码是查询。
如果这不是很清楚,请让我知道我可以提供什么其他细节。
如果我理解正确,您需要根据项目表中的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']