php mysql - 在单个查询中获得超过1条记录

时间:2013-12-05 05:27:48

标签: php mysql

我有一张像

这样的表格
<table width="60%" border="0">
    <tr>
        <td>intId</td>
        <td>tagname</td>
        <td>cid</td>
        <td>lid</td>
    </tr>
    <tr>
        <td>1</td>
        <td>chemis</td>
        <td>5</td>
        <td>0</td>
    </tr>
    <tr>
        <td>2</td>
        <td>hist</td>
        <td>4</td>
        <td>0</td>
    </tr>
    <tr>
        <td>3</td>
        <td>canada</td>
        <td>0</td>
        <td>9</td>
    </tr>
    <tr>
        <td>4</td>
        <td>chemis</td>
        <td>6</td>
        <td>0</td>
    </tr>
    <tr>
        <td>5</td>
        <td>chemis</td>
        <td>9</td>
        <td>2</td>
    </tr>
    <tr>
        <td>6</td>
        <td>hist</td>
        <td>3</td>
        <td>1</td>
    </tr>
</table>
$srarchkey_arr = array('chemis','tes','loyal','hist','canada');

我的输出应该是

<table width="60%" border="0">
    <tr>
        <td>Tag Name </td>
        <td>cid</td>
        <td>lid</td>
    </tr>
    <tr>
        <td>Chemis</td>
        <td>5,6,9</td>
        <td>0,0,2</td>
    </tr>
    <tr>
        <td>hist</td>
        <td>4,3,</td>
        <td>0,1</td>
    </tr>
    <tr>
        <td>canada</td>
        <td>0</td>
        <td>9</td>
    </tr>
</table>

Please refer the fiddle

即在我的代码表中,我有很多带有cid和lid的标签

我想搜索数组$srarchkey_arr中的单词。我想搜索这些标签并按指定的方式提供输出。我使用了类似的查询,但它将输出作为单独的记录。所以我再次使用循环来连接cid和盖子。

这可以通过单个查询和循环来实现。有没有可能像字符串一样传递这个或像in()那样传递字符串。

请帮帮我。感谢

1 个答案:

答案 0 :(得分:1)

使用此sql

SELECT tagname, group_concat(cid), group_concat(lid) from test.check group by tagname;