【问题标题】:How to get specific value from input form that generated by echo Table from database mysql in PHP?如何从 PHP 中数据库 mysql 的 echo Table 生成的输入表单中获取特定值?
【发布时间】:2021-08-23 14:41:20
【问题描述】:

如何从 PHP 中 echo 生成的输入表单中获取特定值? 输入表格是根据mysql调用的指标表自动生成的。 提交时,成就的2个输入值将出现在每个指标中。我想要 1 个指标,1 个成就值。 这是我的代码:

while ($row = mysqli_fetch_row($query)){ 

$_SESSION['id_kpi']=$row[0];
echo '<tr>
        <td>
            <span class="textarea" role="textbox" name="kpi'. ++$n .'" contenteditable>'.$row[1].'</span>
        
        </td>
        <td>
            <span style="margin-left:30px;">
            <input type="text" name="achievement[]" id="achievement" style="width:30%">
            </span>
        </td>
        
    </tr>';

    
if( isset( $_POST['submit'] ) )
{       

$idkpi = $row[0];

$achi = $_POST['achievement'];

$items = array();
for($i = 0 ; $i < $count ; $i++){
  $items[$i] = array(  
    "achieve"       => $achi[$i]
  );
}

$value = array();
foreach($items as $item){
  $value[] = "('{$item['achieve']}')";
}

$values = implode(", ", $value);

echo 'Your value is '.$values. '<br>';

}

结果 结果是成就的 2 个输入的值将出现在每个指标中。而这个结果不是我想要的。请检查图像。 View Image result

【问题讨论】:

    标签: php


    【解决方案1】:

    在 $items 的 foreach 之后,您不需要创建另一个数组并将其内爆。只需将 echo 放入 foreach 循环即可。喜欢:

    foreach($items as $item){
      echo "Your value is (' $item['achieve'] ')<br>";
    }
    

    我认为这将解决您的问题。

    【讨论】:

    • 你的代码没问题,但还是和以前差不多。请参考这张图片link
    • 我能知道“while ($row = mysqli_fetch_row($query))”,这里 $row 的结果是什么?只是 print_r($row) 对我有好处。
    • 我调用它来显示来自 mysql 数据库的表。每个表格(指标)都有一个输入表格(成就)。问题正如上面帖子中提到的那样。如果有更多的表格,则生成更多的输入表单。
    • if( isset( $_POST['submit'] ) ) { $idkpi = $row[0]; $achi = $_POST['成就']; for($i = 0 ; $i '; } } 希望这能解决问题。请检查并告诉我。
    • 还是一样。每项成就有 2 个价值。我想我会离开这个方法,改用另一种已经测试过的方法。非常感谢您的建议和帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    相关资源
    最近更新 更多