我有三个表(个人、组和唱片公司),并希望使用它们之间的信息来列出唱片公司内的人员。示例:它应该找到 companyID 为 # 的个人和组并列出它们。如何在不重复结果的情况下正确创建它?
// Connect to database
include "mysqli_connect.php";
// Set variables
$url_num = $_GET['company_id'];
$company_num = "";
$company_members = "";
$company_members2 = "";
//Check for artist id pagination
if(is_numeric($url_num)){
$company = intval($url_num);
}else{
$company = 1;
}
// Construct our join query
$sqli = "SELECT DISTINCT * FROM recordlabels
INNER JOIN individuals ON individuals.companyID=recordlabels.companyID
INNER JOIN groups ON groups.companyID=recordlabels.companyID
WHERE recordlabels.companyID = '{$company}'";
// Create results
$result = mysqli_query($link, $sqli);
//Check for albums
$totalmembers = mysqli_num_rows($result);
// Checking if query is successful
if($result){
// Print out the contents of each row into a table
while($row = mysqli_fetch_array($result, MYSQLI_BOTH)){
// Assign value of column if not empty, otherwise "DamJuNoImage" (Thanks to Jonathan Sampson from Stack Overflow)
$companyen = empty( $row["companyen"] )
? "Unknown"
: $row["companyen"];
$companyko = empty( $row["companyko"] )
? "Unknown"
: $row["companyko"];
$companyType = empty( $row["companyType"] )
? "Unknown"
: $row["companyType"];
$founded = empty( $row["established"] )
? "Unknown"
: $row["established"];
$founder = empty( $row["companyFounder"] )
? "Unknown"
: $row["companyFounder"];
$information = empty( $row["information"] )
? "Unknown"
: $row["information"];
$location = empty( $row["companyLocation"] )
? "Unknown"
: $row["companyLocation"];
$homepage = empty( $row["companyPage"] )
? "#"
: $row["homepage"];
$solopic = empty( $row["solopic"] )
? "DamjuNoImage"
: $row["solopic"];
$soloen = empty( $row["soloen"] )
? "Unknown"
: $row["soloen"];
$solokn = empty( $row["solokn"] )
? "Unknown"
: $row["solokn"];
$grouppic = empty( $row["grouppic"] )
? "DamjuNoImage"
: $row["grouppic"];
$groupen = empty( $row["groupen"] )
? "Unknown"
: $row["groupen"];
$groupkn = empty( $row["groupkn"] )
? "Unknown"
: $row["groupkn"];
$company_members .= '<li><a href="#">
<div class="image"><img src="pathhere/' . $solopic . '"></div>
<p class="datatitle2">' . $soloen . '</p>
<p class="data-info2">' . $solokn . '</p>
</a></li>';
$company_members2 .= '<li><a href="#">
<div class="image"><img src="pathhere' . $grouppic . '"></div>
<p class="datatitle2">' . $groupen . '</p>
<p class="data-info2">' . $groupkn . '</p>
</a></li>';
$listofmembers = $company_members . $company_members2;
} // End of while statement
}else{
echo "No people under $companyen";
} // End of If statement
提供(希望)更好的视觉效果。
- 鲍勃(个人)
- 丽莎(个人)
- 狂热(团体)
我在寻求帮助之前的测试给出了这个结果:
- 鲍勃(个人)
- 丽莎(个人)
- 狂热(团体)
- 狂热(团体)
那是因为我把个人和群体的产出放在了各自独立的价值中。然后我附和$var1 . $var2
了我觉得会出错的地方。
更新:如果没有人能弄清楚,我将重做我的数据库和表。谢谢你们所有的帮助。