<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<?
$r[price_value]='a1|b1,b2|c1,c2,c3,c4';
$total_row_num=1;
$price_value_arr=explode("|",$r[price_value]);
for ($i=0;$i<count($price_value_arr); $i++)
{
$total_row_num*=count(explode(",",$price_value_arr[$i]));
}
?>
<table id="test" width="700" border="1">
<?
for ($n=0; $n<$total_row_num; $n++)
{
echo "<tr>";
for ($i=0;$i<count($price_value_arr); $i++)
{
$item_arr=explode(",",$price_value_arr[$i]);
$item_arr_num=count($item_arr); $y=($n)%$item_arr_num;
//此行代码有问题;求助修改;
for ($j=0; $j<$item_arr_num; $j++)
{
if($j==$y)
{
echo '<td>'.$item_arr[$j].'</td>';
}
}
}
echo '<td></td><td></td><td></td><td></td></tr>';
}
?>
</table>
<script>
function autoRowSpan(tb,row,col)
{
var lastValue="";
var value="";
var pos=1;
for(var i=row;i<tb.rows.length;i++){
value = tb.rows[i].cells[col].innerText;
if(lastValue == value){
tb.rows[i].deleteCell(col);
tb.rows[i-pos].cells[col].rowSpan = tb.rows[i-pos].cells[col].rowSpan+1;
pos++;
}else{
lastValue = value;
pos=1;
}
}
}
</script><input name="" type="button" value="合并单元格" onClick="autoRowSpan(test,0,0)">
</body>
</html>
以上为文本代码,生成后的表如图
这不是我所要的格式,
我所要求格式为:最终合并后的效果为:求修改代码。
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>无标题文档</title>
</head>
<body>
<?
$r[price_value]='a1|b1,b2|c1,c2,c3,c4';
$total_row_num=1;
$price_value_arr=explode("|",$r[price_value]);
for ($i=0;$i<count($price_value_arr); $i++)
{
$total_row_num*=count(explode(",",$price_value_arr[$i]));
}
?>
<table id="test" width="700" border="1">
<?
for ($n=0; $n<$total_row_num; $n++)
{
echo "<tr>";
for ($i=0;$i<count($price_value_arr); $i++)
{
$item_arr=explode(",",$price_value_arr[$i]);
$item_arr_num=count($item_arr); $y=($n)%$item_arr_num;
//此行代码有问题;求助修改;
for ($j=0; $j<$item_arr_num; $j++)
{
if($j==$y)
{
echo '<td>'.$item_arr[$j].'</td>';
}
}
}
echo '<td></td><td></td><td></td><td></td></tr>';
}
?>
</table>
<script>
function autoRowSpan(tb,row,col)
{
var lastValue="";
var value="";
var pos=1;
for(var i=row;i<tb.rows.length;i++){
value = tb.rows[i].cells[col].innerText;
if(lastValue == value){
tb.rows[i].deleteCell(col);
tb.rows[i-pos].cells[col].rowSpan = tb.rows[i-pos].cells[col].rowSpan+1;
pos++;
}else{
lastValue = value;
pos=1;
}
}
}
</script><input name="" type="button" value="合并单元格" onClick="autoRowSpan(test,0,0)">
</body>
</html>
以上为文本代码,生成后的表如图
这不是我所要的格式,
我所要求格式为:最终合并后的效果为:求修改代码。
使用这个参数就可以了你可以先用 html写好格式,然后再用php填入数据。