我不明白为什么foreach显示两次相同的行..
if(isset($_POST['idSalarie'])){
$displayForm = $bdd->prepare(
'SELECT user_prenom, user_nom, poste_nom
FROM USER
INNER JOIN USER_POSTE_SERVICE ON USER.user_id= USER_POSTE_SERVICE.ups_poste_id
INNER JOIN POSTE ON USER_POSTE_SERVICE. ups_poste_id = POSTE.poste_id
WHERE user_id = :idSalarie
ORDER BY user_nom ASC');
$displayForm->bindParam(':idSalarie', $_POST['idSalarie']);
$displayForm->execute();
$resDisplayForm=$displayForm->fetch();
foreach ($resDisplayForm as $key => $value) {
echo '<input type="text" name="'.$key.'" value="'.$value.'"/>';
}
}
答案 0 :(得分:4)
fetch()
使用FETCH_BOTH
。
PDO :: FETCH_BOTH(默认值):返回由结果集中返回的列名和0索引列号索引的数组。
尝试 -
$resDisplayForm=$displayForm->fetch(PDO::FETCH_ASSOC);
答案 1 :(得分:0)
$resDisplayForm=$displayForm->fetch();
这个通常是FETCH_BOTH ......对于这种情况发生
FETCH_BOTH (默认值):返回由结果集中返回的列名和0索引列号索引的数组
你也从那里学习: - http://php.net/manual/en/pdostatement.fetch.php
尝试FETCH_ASSOC
FETCH_ASSOC :返回按结果集中返回的列名索引的数组
尝试: -
$resDisplayForm=$displayForm->fetch(PDO::FETCH_ASSOC);