【问题标题】:Get values from array php in inputs and repeat inputs in a block从输入中的数组 php 获取值并在块中重复输入
【发布时间】:2020-06-15 12:10:22
【问题描述】:

我有几个输入,我从数据库中的数组中获取值。 我需要将所有输入作为一个块重复,而不是重复 html 我试图只编写一次 html,但不知道如何使用 foreach 获取值。

所以我有这样的输入:

<input type="text" name="x[]" value="<?php echo $p;?>">
<input type="text" name2="y[]" value="<?php echo $refarray;?>">
etc.

我需要像这样填写值:

foreach ($x as $p){
foreach ($y as $r){ ?>

我想重复该块 3 次,所以我在一个 while 循环中运行它 3 次:

<?php
$i = 0;
$times_to_run = 3;
while ($i++ < $times_to_run)
{ 
?>
    <input type="text" name="x[]" value="<?php echo $p;?>">
    <input type="text" name2="y[]" value="<?php echo $r;?>">
<?php
}
?>

这就是我希望输出的方式:

Block 1
<input type="text" name="x[]" value="<?php echo $p[0];?>">
<input type="text" name2="y[]" value="<?php echo $r[0];?>">
Block 2
<input type="text" name="x[]" value="<?php echo $p[1];?>">
<input type="text" name2="y[]" value="<?php echo $r[1];?>">
Block 3
<input type="text" name="x[]" value="<?php echo $p[2];?>">
<input type="text" name2="y[]" value="<?php echo $r[2];?>">

如何在不写 3 次 html 的情况下做到这一点?

【问题讨论】:

  • html为什么要写三遍?您已经有一个运行 3 次的循环
  • 您需要将name="x" 设置为name="x[]",否则当表单提交时,您只会得到最后一个值。
  • 是的,我知道了,谢谢。
  • 我不想重复,但是如果已经在循环中,我不知道如何打印输入中的值

标签: php html arrays foreach


【解决方案1】:

假设您在 $x$r 中有数组,键为 0,1,2,3....等。

使用 foreach 将很容易和干净地绑定到 html

foreach ($x as $key => $p){ 
   echo  '<input type="text" name="x[]" value="<?php echo $p;?>">';
   echo  '<input type="text" name="y[]" value="<?php echo $r[$key];?>">';

}

【讨论】:

  • 完美运行,无需使用循环运行 3 次
  • 最终代码:foreach ($titleenvarios as $key => $titleenvarios2){ ?> 谢谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-02-26
  • 1970-01-01
相关资源
最近更新 更多