【发布时间】:2013-08-25 14:59:54
【问题描述】:
感谢您阅读我的问题
我正在尝试使表 repair_jobs 中的 *clients_id* 显示为表 contacts
中的 name但我没有运气 我有 2 个 sql 查询,这是错的吗?
第一个
$query = "select * from repair_jobs";
这有助于我显示我需要的有关 repair_jobs 和 works 字段的信息
这是第二个
$query = "SELECT repair_jobs.client_id, contacts.name
FROM repair_jobs
INNER JOIN contacts
ON repair_jobs.client_id=contacts.name";
我有这个尝试显示客户的名字
echo "<td>{$client_id}</td>";
但它只显示我需要的数字而不是数据(客户名称)
我错过了什么吗?
其他信息
client_id (repair_jobs) 是一个数字,与 id (contacts) 相同,但要显示名称(contacts)
客户
Id – name – surname – phone – address
维修
Id – clients_id (same as id in clients) – unit – date – price
当前代码
<?php
//include database connection
include 'db_connect.php';
//query all records from the database
$query = "select * from repair_jobs";
//execute the query
$result = $mysqli->query( $query );
//get number of rows returned
$num_results = $result->num_rows;
//this will link us to our add.php to create new record
if( $num_results > 0){ //it means there's already a database record
//start table
//creating our table heading
echo " <table class='table_basic'>";
echo "<thead><tr>";
echo "<th>Job #</th>";
echo "<th>Name Of Unit</th>";
echo "<th>Client</th>";
echo "<th>Estimated Value</th>";
echo "</thead></tr><tbody><tr>";
//loop to show each records
while( $row = $result->fetch_assoc() ){
//extract row
//this will make $row['firstname'] to
//just $firstname only
extract($row);
//creating new table row per record
echo "<tr>";
echo "<td width='40px'><a href='rdetails.php?id={$id}'># {$id}</a></td>";
echo "<td>{$rmake} {$rmodel}</td>";
$query = "SELECT rj.client_id, c.name AS client_name FROM repair_jobs rj INNER JOIN contacts c ON rj.client_id=c.id";
echo "<td>{$client_name}</td>";
echo '<td align="center"><span class="badge badge-success">£';
$lhours = $labour;
$repaircosts = $ourcosts;
$labourpay = $labourcharge;
$sum_total = $repaircosts +($lhours * $labourpay);
print ($sum_total);
echo '</span></td>';
echo "</td>";
echo "";
}
echo "</tr></table>";//end table
}else{
//if database table is empty
echo "No records found.";
}
//disconnect from database
$result->free();
$mysqli->close();
?>
【问题讨论】:
-
我们需要查看表的架构。
contacts.name是否真的等于repair_jobs.client_id?还是有更合适的contacts.id? -
这两行分别命名为client_id(在repair_jobs表中)和name(在contacts表中)
-
这不是问题所在。这个client_id实际上是一个ID,还是联系人的名字?这是contacts.name 和ID,还是联系人的姓名?如果这两个问题的答案不同,那么你加入了错误的标准就做错了。如果他们是相同,你仍然做错了,因为你的命名方案很烂。
-
对不起,client_id 是一个数字,name 是客户的名字
-
我已经更新了我的问题,提供了您可能会问的其他信息