-1

我的数据库中有这个结构,请在小提琴中查看:http ://sqlfiddle.com/#!2/a8354/1

我在 pais、departamento 和 ciudad 列中有问题,在小提琴中向我展示了很好的关系,但在我的页面中却没有……我真的尝试了多种形式……但总是向我展示每个表格中的第一个选项…… . 不像在小提琴中效果很好!(在小提琴中不能插入每个表的所有名称和ID,但对于我认为足够的示例)

你能给我一个解决方案吗?我的页面中有这段代码:

<?
$query = "SELECT P.IDPAIS, lp.opcion,
(SELECT opcion FROM lista_paises WHERE id = IDPAIS)
AS opcion
FROM PACIENTES P
INNER JOIN lista_paises lp
ON  P.IDPAIS = lp.id";
$stmt = $conn->prepare($query);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
$opcion = $row['opcion'];
?>

并在每个用户的页面中显示名称:

Departamento : <b> <? echo $opcion1; ?> </b> | Municipio/Ciudad : <b><? echo $opcion2; ?> </b> | Pa&iacute;s : <b> <? echo $opcion; ?></b>

你能帮我解决这个问题吗?

4

1 回答 1

1

您的 PHP 示例只会从您的查询中返回一个值。

$row = $stmt->fetch(PDO::FETCH_ASSOC);

如果您想要所有结果,请使用如下语句:

$rows = $stmt->fetchAll();
foreach( $rows as $row )
{
    ... do something with $row
}
于 2013-06-30T17:54:45.727 回答