Php foreach在同一行中显示两次

Php foreach在同一行中显示两次,php,Php,我不明白为什么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=

我不明白为什么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.'"/>';
    }
}
if(isset($\u POST['idSalarie']){
$displayForm=$bdd->prepare(
'选择用户名称、用户名称、邮政名称
来自用户
用户上的内部加入用户\u POSTE\u服务。用户\u id=用户\u POSTE\u服务。ups\u POSTE\u id
用户\u POSTE\u服务上的内部连接POSTE.ups\u POSTE\u id=POSTE.POSTE\u id
其中user_id=:idSalarie
用户订单(名称为ASC');
$displayForm->bindParam(':idSalarie',$\u POST['idSalarie']);
$displayForm->execute();
$resDisplayForm=$displayForm->fetch();
foreach($resdisplayFormas$key=>$value){
回声';
}
}
更新:

fetch()
默认情况下使用
fetch\u两者

PDO::FETCH_BOTH(默认):返回一个数组,该数组按结果集中返回的列名和0索引的列号进行索引

试试-

$resDisplayForm=$displayForm->fetch(PDO::FETCH_ASSOC);
fetch()

PDO::FETCH_BOTH(默认):返回一个数组,该数组按结果集中返回的列名和0索引的列号进行索引

试试-

$resDisplayForm=$displayForm->fetch(PDO::FETCH_ASSOC);
在这种情况下,两者都有可能。。为了这件事

FETCH\u BOTH(默认值):返回一个数组,该数组按结果集中返回的列名和0索引列编号进行索引

你也可以从中学到:-

尝试获取\u ASSOC

FETCH_ASSOC:返回结果集中返回的按列名索引的数组

尝试:--

在这种情况下,两者都有可能。。为了这件事

FETCH\u BOTH(默认值):返回一个数组,该数组按结果集中返回的列名和0索引列编号进行索引

你也可以从中学到:-

尝试获取\u ASSOC

FETCH_ASSOC:返回结果集中返回的按列名索引的数组

尝试:--


如果直接在数据库上运行SQL,它是否会产生重复的行?否,它只返回1行?是否确定?您有2个连接,任何分组都很可能返回多行。因此,如果您知道只返回1行,为什么要在循环中执行任何操作?因为我有多个输入文本,所以存在一个Ajax如果您直接在数据库上运行SQL,它会生成重复行吗?不,它只返回1行,您确定吗?你有2个连接,任何分组都很可能返回超过1行。所以如果你知道只返回1行,为什么要在循环中做任何事情?因为我有超过1个输入文本,所以有ajax
$resDisplayForm=$displayForm->fetch(PDO::FETCH_ASSOC);