Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在MySQL中连接数据_Php_Mysql_Foreach - Fatal编程技术网

Php 在MySQL中连接数据

Php 在MySQL中连接数据,php,mysql,foreach,Php,Mysql,Foreach,我的数据库中有以下数据: initial | word --------------------------- E | Example1 E | Example2 N | Nextexample1 所需输出: 因此,对于每个首字母,它应该显示以该首字母开头的所有单词 此时的输出: 我现在的代码是: 问题是: 我完全理解为什么我得到了错误的输出,但不知道如何解决它。我想我需要像foreach循环中的foreach循环这样

我的数据库中有以下数据:

initial   |    word
---------------------------
   E      |    Example1
   E      |    Example2
   N      |    Nextexample1
所需输出:

因此,对于每个首字母,它应该显示以该首字母开头的所有单词

此时的输出:

我现在的代码是:

问题是:


我完全理解为什么我得到了错误的输出,但不知道如何解决它。我想我需要像foreach循环中的foreach循环这样的东西来获得正确的输出,但是如何将单词链接到正确的首字母?

您可以通过一个SQL查询来实现这一点

在这个查询中,您要求MySQL按首字母对记录进行分组,并使用函数将每个分组聚合为一行

使用示例数据

将返回:


您可以通过一个SQL查询来实现这一点

在这个查询中,您要求MySQL按首字母对记录进行分组,并使用函数将每个分组聚合为一行

使用示例数据

将返回:


谢谢,这很有帮助!再问一个问题:如果我决定把每个匹配首字母的单词放在一个单独的div中,你知道我怎么做吗?@Stan显然是通过一个循环,但你可能想问第二个问题-谢谢,这很有帮助!再问一个问题:如果我决定把每个匹配首字母的单词放在一个单独的div中,你知道我怎么做吗?@Stan显然是通过一个循环,但你可能想问第二个问题-
E : Example1, Example2
N : Nextexample1
E : Example1
E : Example2
N : Nextexample1
<?php
    $pdo = new PDO('mysql:host=...');           
    $sql = "SELECT DISTINCT initial, word FROM `exampletable` ORDER by initial ASC";
    $stmt = $pdo->prepare($sql);
    $stmt->execute();

    if($stmtrecords = $stmt->fetchall(PDO::FETCH_ASSOC))
    {

    foreach($stmtrecords as $result)
    {
?>

<?php echo $result['initial'];?> : <?php echo $result['word'];?>
SELECT `initial`, GROUP_CONCAT(`word` SEPARATOR ', ') as `output` 
    FROM `table` GROUP BY `initial` ORDER BY `initial` ASC
initial | word
--------+--------------
E       | Example1
E       | Example2
Z       | Zebra
N       | NextExample
O       | OtherExample
O       | OtherExample2
initial | output
--------+--------------
E       | Example1, Example2
N       | NextExample
O       | OtherExample, OtherExample2
Z       | Zebra