如果存在具有相同值的两条或多条相同记录,则PHP PDO仅显示一条记录

如果存在具有相同值的两条或多条相同记录,则PHP PDO仅显示一条记录,php,sql,pdo,Php,Sql,Pdo,我有一个PHP代码,在SQL数据库中有一个国家列表的下拉列表。这些值被排序为: Continent (Row 1) - > Country (Row 2) -> City (Row 3) 例如 我有一个显示第一列的下拉列表 欧洲,欧洲,北美,北美 我只想显示一次欧洲和北美,即只有一次重复或多个显示 这是我的密码 $dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); $tableName = 'c

我有一个PHP代码,在SQL数据库中有一个国家列表的下拉列表。这些值被排序为:

Continent (Row 1) - > Country (Row 2) -> City (Row 3)
例如

我有一个显示第一列的下拉列表 欧洲,欧洲,北美,北美

我只想显示一次欧洲和北美,即只有一次重复或多个显示

这是我的密码

$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$tableName = 'categories';

//Get values from table
$sqlUpdate = $dbh->prepare("SELECT * FROM $tableName");
$sqlUpdate->execute();


echo '<form action="" method="post">';
echo '<select name="continent" onChange="this.form.submit()" size = "4"> ';
while ($result = $sqlUpdate->fetch()) {
    echo '<option value="';
    echo $result['continent'];
    echo '">';
    echo $result['continent'];
    echo '</option>'; 
}
echo '</select>'; 
echo '</form>'; 
echo '<p><strong>You have selected</strong> <em>'.$_POST['country'].'</em></p>';   

我该怎么做呢?

从$tableName按洲分组中选择*或从$tableName中选择不同的洲

两者都有效


谢谢

SELECT*FROM$tableName GROUP BY Continents从$tableName中选择不同的洲
$dbh->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
$tableName = 'categories';

//Get values from table
$sqlUpdate = $dbh->prepare("SELECT * FROM $tableName");
$sqlUpdate->execute();


echo '<form action="" method="post">';
echo '<select name="continent" onChange="this.form.submit()" size = "4"> ';
while ($result = $sqlUpdate->fetch()) {
    echo '<option value="';
    echo $result['continent'];
    echo '">';
    echo $result['continent'];
    echo '</option>'; 
}
echo '</select>'; 
echo '</form>'; 
echo '<p><strong>You have selected</strong> <em>'.$_POST['country'].'</em></p>';