如果使用
选中了复选框,我正在尝试从Wordpress数据库中获取并显示一些数据。 echo "<input type='checkbox' name='productinfo[]' value='" .$item->get_name() .$item->get_quantity() . $item->get_total() ."'>";
并使用以下命令将其打印出来: $ test = $ _POST ['productinfo'];
for($i=0; $i < sizeof($test); $i++) {
list($name, $quantity, $total) = explode(",", $test[$i]);
echo "Name- ".$name;
echo "<br>";
echo "Quantity ".$quantity;
echo "<br>";
echo "Total ".$total;
echo "<br>";
echo "<br/>";
}
但是问题是数量和总数在一个字符串中粘在一起,我无法打印出分隔符,有没有办法将它们彼此分隔开,它当前以这种方式打印出来,最后一位是数量和共279个。
答案 0 :(得分:1)
您可以尝试使用异常字符分隔字符串,例如,如果产品名称中不包含“ _”(例如,则不包含“ |”)>
echo "<input type='checkbox' name='productinfo[]'
value='" .$item->get_name() . "_" . $item->get_quantity() . "_" . $item->get_total() ."'>";
通过这种方式,您可以使用explode("_", $checkbox_value)
(PHP)或checkbox_value.split("_")
(JS)来检索不同的值
答案 1 :(得分:0)
只需添加。“ |”。 (或不应该名称的东西),如下所示。并添加隐藏的输入以爆炸值。
echo "<input type='checkbox' name='productinfo[]' onchange="setValueForHidden(this,'".$item->get_quantity() ."|" .$item->get_total()."')" value='" .$item->get_name() .$item->get_quantity() .$item->get_total() ."'>";
echo "<input type='hidden' id='productInfoVar'>";
echo '<script type="text/javascript">
function setValueForHidden(item,value){
if(item.checked){
document.getElementById("productInfoVar").value= value
}
}
</script>';
答案 2 :(得分:0)
在爆炸功能中,您需要在第一个参数中传递空格not,请检查您的复选框值之间是否有空格 例如-应该是“名称数量价格” ,否则您可以在字符串之间使用任何特殊字符,例如“ name_quantity_price” ,然后可以使用explode函数(例如explode(“ _“,$ test [$ i])会从_
断开字符串explode(“,”,$ test [$ i])**-> ** explode(“”,$ test [$ i]);
for($i=0; $i < sizeof($test); $i++) {
list($name, $quantity, $total) = explode(" ", $test[$i]);
echo "Name- ".$name;
echo "<br>";
echo "Quantity ".$quantity;
echo "<br>";
echo "Total ".$total;
echo "<br>";
echo "<br/>";
}