2013-06-30 69 views
-1

ID我有我的分貝這種結構中,請在這裏提琴:http://sqlfiddle.com/#!2/a8354/1名稱,而不是在MySQL + PDO

我在列派斯,阿雅和城的問題,在小提琴給我很好的關係但在我的網頁不...我真的嘗試過很多形式..但總是讓我看到每個表中的第一個選項...不像在小提琴中很好地工作! (在小提琴不能插入所有的名稱和每個表的ID,但對於我認爲是足夠的例子)

你能給我一個解決方案嗎?我有這樣的代碼在我的網頁:

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

能否請你幫我這個:

<? 
$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']; 
?> 

,並在每個用戶此頁面顯示的名字嗎?

回答

1

您的PHP示例只會從您的查詢中返回一個值。

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

如果你希望所有的效果,請使用如下語句:

$rows = $stmt->fetchAll(); 
foreach($rows as $row) 
{ 
    ... do something with $row 
} 
+0

謝謝你這是正確的代碼! –

+0

這是任何人需要這樣的代碼:'<? (SELECT opcion FROM lista_paises WHERE id = IDPAIS)AS opcion FROM PACIENTES P INNER JOIN lista_paises lp ON P.IDPAIS = lp.id WHERE id_paciente ='$ id_paciente'「 ; \t $ stmt = $ conn-> prepare($ query); \t $ stmt-> execute(); \t $ rows = $ stmt-> fetchAll(); \t foreach($ rows as $ row) \t { ?> <? echo $ row ['opcion']?> ' –