如何从另一个 table 获取值到 PHP/MySQL 中的另一个 table

How to Get VALUES from another table into another table in PHP/MySQL

首先我要说我的英语并不完美。 我正在使用 XAMPP 5.6.0.0

我有两个 table,servicesservices_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)

我想在一个 table 中显示以下数据。

service_id
ser_cat_id
service_category
service_title
service_statement

ser_cat_idservice_idPRIMARY KEYs.

此处ser_cat_id存入scidservicestable。这个ser_cat_idscid列保存多次。但是 service_title 会被改变。有不同类型的 service_title,但 scid 对于不同的 service_title 是相同的。 scid 来自 ser_cat_id 来自 services_cat table.

我可以将 ser_cat_idservice_cat table 传递给 scid,并且我可以获取(显示)那个 scid。但我想显示 ser_cat_id 的 DISTINCT service_category 名称(与 services table 中的 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>
        ";
    }
    ?>

努力改变,

$sql = mysql_query("SELECT * FROM services_cat JOIN services ON services_cat.ser_cat_id = services.service_id GROUP BY service_category ");

$sql = mysql_query("SELECT * FROM services_cat JOIN services ON services_cat.ser_cat_id = services.scid GROUP BY service_category ");

根据您的需要,这就是您所需要的:

SELECT s.service_id, c.ser_cat_id, c.service_category, s.service_title, s.service_statement 
FROM services_cat AS c 
INNER JOIN services AS s 
  ON c.ser_cat_id = s.scid 

检查此 运行 示例:http://sqlfiddle.com/#!9/013f7/3/0

在您的循环中,您的 $row 将根据需要提供此数据。

$row['service_id']
$row['ser_cat_id']
$row['service_category']
$row['service_title']
$row['service_statement']