我有一个创建循环的命令:
foreach($cart as $line=>$item).
显示时,它会显示下面引用的HTML。我试图在循环下面添加一个div id,因为我想创建一个getElementById()
函数。但是,它会在上面创建一个循环。另外,我无法更改tr语句。我实际上已经在Code Igniter中的每个tr语句上进行了搜索和替换,它仍然存在。我是一个相当新手,非常感谢任何建议,因为这已经困扰了我三天了。
<tbody id="cart_contents">
<?php
if(count($cart)==0)
{
?>
<tir><td colspan='8'>
<div class='warning_message' style='padding:7px;'><?php echo $this->lang->line('sales_no_items_in_cart'); ?></div>
</tr></tr>
<?php
}
else
{
echo "</tr><tir>";
foreach($cart as $line=>$item)
{
?>
<td id = " <?php echo $item['name'];?>" style="align:center;" ><?php echo $item['name']; ?></td>
<?php if ($items_module_allowed)
{
?>
<td><?php echo form_input(array('name'=>'price','value'=>$item['price'],'size'=>'6'));?></td>
<?php
}
else
{
?>
<td><?php echo $item['price']; ?></td>
<?php echo form_hidden('price',$item['price']); ?>
<?php
}
?>
<td>
<?php
if($item['is_serialized']==1)
{
echo $item['quantity'];
echo form_hidden('quantity',$item['quantity']);
}
else
{
echo form_input(array('name'=>'quantity','value'=>$item['quantity'],'size'=>'2'));
}
?>
</td>
<td><?php echo to_currency($item['price']*$item['quantity']-$item['price']*$item['quantity']*$item['discount']/100); ?></td>
<?php
if($item['allow_alt_description']==1)
{
}
else
{
if ($item['description']!='')
{
}
else
{
}
}
?>
</td>
<td> </td>
<td style="color:#2F4F4F";>
<?php
if($item['is_serialized']==1)
{
}
?>
</td>
<td colspan=3 style="text-align:left;">
<?php
if($item['is_serialized']==1)
{
}
?>
</td>
</tr>
<tr style="height:3px">
<td colspan=8 style="background-color:white"> </td>
</tr> </form>
<?php
}
}
?>
</tbody>
</table> </div>
这是原始循环的HTML输出。
<tr><td id=" test" style="align:center;">test</td>
<td><input type="text" name="price" value="150.00" size="6"></td>
<td>
etc...
</td>
</tr>
答案 0 :(得分:0)
我不相信你的问题与你的PHP有关,我认为这是你的HTML。
您的html开始和结束标记并非全部匹配。你有几个未公开的<tr>
元素,至少有一个未打开的<tr>
,你的表单标签在你的if / else语句结构中没有用,你实际上没有开放{{ 1}}标记或代码顶部的开始<table>
标记,而最后两个标记。你在循环中出现的循环中的div可能是浏览器试图解释破坏的页面结构的结果。
就我提到的表单标记而言,请确保如果使用if语句打开表单,那么如果if语句的计算结果为false,则还必须具有打开任何必需表单的条件。我认为你在if中有一个表单元素,然后将表单输入作为下一个else语句的一部分。
我简化了您发布的代码并添加了评论以尝试说明这一点:
<div>