【发布时间】:2015-11-10 03:06:13
【问题描述】:
首先我应该说我的英语并不完美。 我正在使用 XAMPP 5.6.0.0
我有两张桌子,services 和 services_cat。
-- Table structure for table `services_cat`
CREATE TABLE IF NOT EXISTS `services_cat`
(`ser_cat_id` int(11) NOT NULL,
`service_category` varchar(50) NOT NULL)
-- Table structure for table `services`
CREATE TABLE IF NOT EXISTS `services`
(`service_id` int(11) NOT NULL,
`scid` int(11) NOT NULL,
`service_title` varchar(50) NOT NULL,
`service_statement` varchar(1000) NOT NULL,
`service_photo` varchar(100) NOT NULL)
我想在一张表中显示以下数据。
service_id
ser_cat_id
service_category
service_title
service_statement
ser_cat_id 和 service_id 是 PRIMARY KEYs。
这里将ser_cat_id 保存到services 表中的scid。此ser_cat_id 在scid 栏中多次保存。但是service_title 将被更改。 service_title 有不同的类型,但 scid 对于不同的service_titles 是相同的。 scid 来自ser_cat_id 来自services_cat 表。
我可以将ser_cat_id 从service_cat 表传递给scid,然后我可以获取(显示)scid。但我想显示 ser_cat_id 的 DISTINCT service_category 名称(与 services 表中的 scid 相同)。
你能帮帮我吗..
以下是我的代码。
<?php
include_once("conn.php");
$sql = mysql_query("SELECT * FROM services_cat JOIN services ON services_cat.ser_cat_id = services.service_id GROUP BY service_category ");
while($row = mysql_fetch_object($sql))
{
echo "<tr>
<td><p class='table-p'>$row->scid</p></td>
<td><p class='table-p'>$row->ser_cat_id</p></td>
<td><p class='table-p'>$row->service_category = $row->scid</p></td>
<td><p class='table-p'>$row->service_title</p></td>
<td><p class='table-p'>$row->service_statement</p></td>
<td><p class='table-p'><a href='service_edit.php?ide=$row->service_id'>Edit</a> |
<a href='service_delete.php?idd=$row->service_id'>Delete</a></p></td>
";
}
?>
【问题讨论】:
-
一个
ser_cat_id可能有几个service_category?否则你的查询是正确的。我相信你想收到 DISTINCTservice_title而不是service_category -
不是
services_cat.ser_cat_id = services.scid吗? -
ser_cat_id有很多service_categoryEx ::ser_cat_id=1service_category=Decoration,,,,,,ser_cat_id=2@987654362Dressing......ser_cat_id=3service_category=Dancing等等.. -
ser_cat_id 是 services_cat 的主键。 scid 是服务表中的相关外键。正如@Berriel 所说,这些表之间的所有连接都应使用
ON services_cat.ser_cat_id = services.scid。因此,您执行的任何联合查询都将具有这两个字段的相同值。 -
否 .. 输出表不是 DB 表。它的临时表用于显示数据库表中的数据。
标签: php mysql html-table