php - 如何将值从数组回显到文本框
问题描述
有人请帮助我,我似乎无法用我的代码解决这个问题。我已经没有想法了。我需要用来自 foreach 循环的值填充 while 循环中生成的动态文本框,即 from $doc_list_terminer
to $listDocPourProjet
。
示例:假设我们需要来自用户的 3 个文件。$listDocPourProjet
将生成 3 个文本框。可以说,用户上传了 2 个文件。我需要在生成的前 2 个文本框中列出 2 个文件,并将剩余的文本框留空。上传的 2 个文件来自$doc_list_terminer
.
我让变量 $nomfichier 中的文件名正确回显,我只是无法在 while 循环生成的前 2 个文本框“docfile”中得到它。
下面是我的代码:
$iDossiers = 0;
while($iDossiers < count($listDocPourProjet))
{
$icounter = 0;
foreach($doc_list_terminer as $eachDocTerminer)
{
if($eachDocTerminer['DOC_CLIENT_ID']==$listDocPourProjet[$iDossiers]['DOC_CLIENT_ID'])
{
$nomfichier = $eachDocTerminer['CLIENT_PROJET_DOC_CLIENT_MODELE_DOC'];
}
$icounter++;
}
echo('<br>');
$nombreDossier = $listDocPourProjet[$iDossiers]['DOC_CLIENT_NUM'];
$iDos = 0;
while($iDos < $nombreDossier)
{
$counte = $iDos+1;
echo $iDos;
?>
<tr>
<td>
<?php
echo $listDocPourProjet[$iDossiers]['DOC_CLIENT_NOM'].' '.$counte;
echo "<br>";
?>
<input type="text" id="docfile[<?php echo $listDocPourProjet[$iDossiers]['DOC_CLIENT_ID'].$iDos; ?>]" name="docfile[<?php echo $listDocPourProjet[$iDossiers]['DOC_CLIENT_ID'].$iDos; ?>]" value="<?php echo $nomfichier; ?>" style="width:100%;">
<?php
echo '</td>';
echo '</tr>';
$iDos ++;
}
$iDossiers ++;
}
echo '</tbody>';
echo '</table>';
谢谢你。
var_dump(doc_list_terminer) =
Array
(
[0] => Array
(
[CLIENT_PROJET_DOC_CLIENT_ID] => 901
[CLIENT_PROJET_ID] => 5701
[CLIENT_ID] => 3401
[PROJET_ID] => 3901
[DOC_CLIENT_ID] => 901
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC] => upload/doc_client_document/identite 2.txt
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC_REF] =>
[CLIENT_PROJET_DOC_CLIENT_QTY] => 1
[CLIENT_PROJET_DOC_CLIENT_USER_ID] => 2
[CLIENT_PROJET_DOC_CLIENT_DATE_CREATION] => 2019-05-24 15:12:54
[CLIENT_PROJET_DOC_CLIENT_DATE_MAJ] => 2019-05-24 15:12:54
[CLIENT_PROJET_DOC_CLIENT_STATUT] => 1
[DOC_CLIENT_NOM] => Pièce identité
)
[1] => Array
(
[CLIENT_PROJET_DOC_CLIENT_ID] => 1001
[CLIENT_PROJET_ID] => 5701
[CLIENT_ID] => 3401
[PROJET_ID] => 3901
[DOC_CLIENT_ID] => 901
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC] => upload/doc_client_document/ identite 3.txt
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC_REF] =>
[CLIENT_PROJET_DOC_CLIENT_QTY] => 1
[CLIENT_PROJET_DOC_CLIENT_USER_ID] => 2
[CLIENT_PROJET_DOC_CLIENT_DATE_CREATION] => 2019-05-24 16:55:53
[CLIENT_PROJET_DOC_CLIENT_DATE_MAJ] => 2019-05-24 16:55:53
[CLIENT_PROJET_DOC_CLIENT_STATUT] => 1
[DOC_CLIENT_NOM] => Pièce identité
)
[2] => Array
(
[CLIENT_PROJET_DOC_CLIENT_ID] => 701
[CLIENT_PROJET_ID] => 5701
[CLIENT_ID] => 3401
[PROJET_ID] => 3901
[DOC_CLIENT_ID] => 901
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC] => upload/doc_client_document/identite 1.txt
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC_REF] =>
[CLIENT_PROJET_DOC_CLIENT_QTY] => 1
[CLIENT_PROJET_DOC_CLIENT_USER_ID] => 2
[CLIENT_PROJET_DOC_CLIENT_DATE_CREATION] => 2019-05-24 14:00:41
[CLIENT_PROJET_DOC_CLIENT_DATE_MAJ] => 2019-05-24 14:00:41
[CLIENT_PROJET_DOC_CLIENT_STATUT] => 1
[DOC_CLIENT_NOM] => Pièce identité
)
[3] => Array
(
[CLIENT_PROJET_DOC_CLIENT_ID] => 101
[CLIENT_PROJET_ID] => 5701
[CLIENT_ID] => 3401
[PROJET_ID] => 3901
[DOC_CLIENT_ID] => 1001
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC] => upload/doc_client_document/reference bank.txt
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC_REF] =>
[CLIENT_PROJET_DOC_CLIENT_QTY] => 1
[CLIENT_PROJET_DOC_CLIENT_USER_ID] => 2
[CLIENT_PROJET_DOC_CLIENT_DATE_CREATION] => 2019-05-22 15:50:06
[CLIENT_PROJET_DOC_CLIENT_DATE_MAJ] => 2019-05-22 15:50:06
[CLIENT_PROJET_DOC_CLIENT_STATUT] => 1
[DOC_CLIENT_NOM] => Nom de société
)
[4] => Array
(
[CLIENT_PROJET_DOC_CLIENT_ID] => 1010
[CLIENT_PROJET_ID] => 5701
[CLIENT_ID] => 3401
[PROJET_ID] => 3901
[DOC_CLIENT_ID] => 1001
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC] => upload/doc_client_document/reference bank.txt
[CLIENT_PROJET_DOC_CLIENT_MODELE_DOC_REF] =>
[CLIENT_PROJET_DOC_CLIENT_QTY] => 1
[CLIENT_PROJET_DOC_CLIENT_USER_ID] => 2
[CLIENT_PROJET_DOC_CLIENT_DATE_CREATION] => 2019-05-22 15:50:06
[CLIENT_PROJET_DOC_CLIENT_DATE_MAJ] => 2019-05-22 15:50:06
[CLIENT_PROJET_DOC_CLIENT_STATUT] => 1
[DOC_CLIENT_NOM] => Nom de société
)
)
解决方案
您可以分配$nomfichier
为带有$icounter
index 的数组:
if($eachDocTerminer['DOC_CLIENT_ID']==$listDocPourProjet[$iDossiers]['DOC_CLIENT_ID'])
{
$nomfichier[$icounter] = $eachDocTerminer['CLIENT_PROJET_DOC_CLIENT_MODELE_DOC'];
} else {
$nomfichier[$icounter] = '';
}
然后$iDos
用作输入的索引,更改echo $nomfichier;
为echo !empty($nomfichier[$iDos]) ? $nomfichier[$iDos] : '';
:
<input type="text" id="docfile[<?php echo $listDocPourProjet[$iDossiers]['DOC_CLIENT_ID'].$iDos; ?>]" name="docfile[<?php echo $listDocPourProjet[$iDossiers]['DOC_CLIENT_ID'].$iDos; ?>]" value="<?php echo !empty($nomfichier[$iDos]) ? $nomfichier[$iDos] : ''; ?>" style="width:100%;">
推荐阅读
- python - ValueError:检查目标时出错:预期dense_44的形状为(1,),但数组的形状为(3,)
- javascript - 中继:查询中断,没有任何错误迹象
- angular - 使用 Angular 显示表格时出错
- php - Symfony 资产不包括样式表
- json.net - 解决 NewtonSoft.Json 的冲突版本要求
- java - 运行重绘方法后 JAVA swing gui 窗口受到震动
- regex - 如何使用 .htaccess 检查 URL 参数是否存在?
- c# - 删除时如何自动创建 Db(身份)?
- apache-kafka - 过滤流(Kafka?)以动态数量的客户端
- c# - 不响应在 ASP NET C# 中获取访问令牌 oauth 2.0 API UBER