如何从另一个表中获取VALUES到PHP / MySQL中的另一个表

时间:2015-08-17 12:57:39

标签: php mysql html-table

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

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

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

service_id
ser_cat_id
service_category
service_title
service_statement

ser_cat_idservice_idPRIMARY KEY s。

此处ser_cat_id保存到scid表格中的services。此ser_cat_idscid colomn中多次保存。但service_title将被更改。 service_title有不同类型,但scid对于不同的service_title是相同的。 scid来自ser_cat_id表格的services_cat

我可以从ser_cat_id表格将scid传递给service_cat,我可以抓取(显示)scid。但我希望显示service_category的DISTINCT ser_cat_id名称(与scid表格中的services相同)。

你能帮帮我..

以下是我的代码。

    <?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>
        ";
    }
    ?>

2 个答案:

答案 0 :(得分:1)

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

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']

答案 1 :(得分:0)

尝试改变,

$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 ");