我想填写表格中的数据。我从Sessions和POST中获取值。
有一种方法可以让我得到我想要放在表格中的值。
if ( isset($_POST) ) {
//$valuee[] = array();
foreach ( $_POST as $key => $value )
//$valuee[] = str_split($value, 3);
var_dump($value);
//extract($valuee);
{
$cr = explode( "&",$key ); // ◄■■ SPLIT : [0]="CORP_RESP",[1]="1".
}
mysqli_query( $con,"insert into respostas
(menuid,corp_resp,id,data,
id_avaliacao) " .
"values ('{$cr[1]}','$value', '{$cr[2]}',
'{$cr[5]}', '{$cr[3]}')" );
}
这是我想要从var_dump($value)
添加到表中的输出。
string(4)“0.00”string(4)“0.00”string(4)“0.45”string(4)“0.00”string(4)“0.00”string(4)“0.50”string(4)“ 0.65“string(4)”0.75“string(4)”0.00“string(4)”0.00“string(4)”0.00“string(4)”0.60“string(4)”0.65“string(4)”0.00 “string(4)”0.00“string(4)”0.60“
有构建表的代码。根据POST之前选择的内容,该表是动态的。代码需要处理列数和行数。
$s2 = $_SESSION['categorias'];
$utilizador = $_SESSION['utilizador'];
$uCount = $_SESSION['cparametro'];
$carCount = $_SESSION['ncategoria'];
$table ="<center><table><tr><center><td>Parametro</td></center>";
for($x = 0; $x < $carCount; $x++){
$val= htmlspecialchars($s2[$x], ENT_HTML5 | ENT_COMPAT, 'UTF-8');
$table= $table."<td>".$val."</td>";
}
$table = $table."</tr>";
for($i = 0 ; $i <$uCount ; $i++ ){
$table = $table."<tr><td>".$utilizador[$i]."</td>";
for($j=0;$j<$carCount;$j++){
$val= htmlspecialchars($s2[$j], ENT_HTML5 | ENT_COMPAT, 'UTF-8');
$table = $table."<td>";
$table = $table.$value;
$table = $table."</td>";
}
}
$table = $table."</tr>";
$teste = "Resultado";
$table= $table."<center><td>$teste</td></center>";
$table = $table."</table>";
echo $table;
$table = $table.$value;
在哪里需要传递正确的值,所有这些都在填充之前,而不是仅传递最后一个?表的其余部分是正确的。
就像你在图片中看到的输出是什么:
在POST之前:
POST后:
新输出:
答案 0 :(得分:0)
这看起来非常复杂,导致无法识别问题,但总之; 问题是你正在使用:
$table = $table.$value;
但是$ value不是正确的变量,你应该使用:
$table = $table.$val;
更长的想法: 如果您想改进代码,可以使用这种表示法:
$table.= "append to the var"
而不是:
$table = $table . "append to var"
它使它更具可读性,但我认为你可以进一步简化它......
为什么你有$ carcount和$ s2?
我认为$ carcount会告诉你$ s2中有多少类别,但你可以使用count($ s2)来代替,这会减少代码量,也可以减少$ uCount和$ utilizador
这也会做同样的事情,并开始变得更具可读性,我确信它可以更加简化,但这是我几分钟后就能做到的事情:
$s2 = $_SESSION['categorias'];
$utilizador = $_SESSION['utilizador'];
$table ="<table><tr><center><td>Parametro</td>";
foreach($s2 as $cat){
$val= htmlspecialchars($s2[$cat], ENT_HTML5 | ENT_COMPAT, 'UTF-8');
$table.= "<td>".$val."</td>";
}
$table .= "</tr>";
foreach($utilizador as $util){
$table.= "<tr><td>".$util."</td>";
foreach($s2 as $cat){
$val= htmlspecialchars($cat), ENT_HTML5 | ENT_COMPAT, 'UTF-8');
$table.="<td>$val</td>";
}
}
$table.= "</tr>";
$table.= "<td>Resultado</td>";
$table.="</table>";
echo $table;
如果你把它放在一个函数中,并且从你需要表的位置调用该函数,那就更好了。