gpt4 book ai didi

php - 我无法在 Codeigniter 中循环显示 div id

转载 作者:行者123 更新时间:2023-11-28 10:21:52 25 4
gpt4 key购买 nike

我有一个创建循环的命令:

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>&nbsp;</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>

最佳答案

我不相信你的问题出在你的php上,我认为这是你的html。

您的 html 开始和结束标记并不全部匹配。您有几个未关闭<tr>元素,至少一个未打开 <tr> ,鉴于您的 if/else 语句结构,您的表单标签不起作用,并且您实际上没有开头 <table>标签或开口<div>标签位于代码顶部,而两者都位于代码末尾。您期望在循环中出现的循环上方的 div 可能是浏览器尝试解释损坏的页面结构的结果。

就我提到的表单标签而言,请确保如果您使用 if 语句打开表单,则还必须有一个条件,如果 if 语句的计算结果为 false,则该条件将打开任何所需的表单。我认为您在 if 中有一个表单元素,然后表单输入作为下一个 else 语句的一部分。

我简化了您发布的代码并添加了注释来尝试说明这一点:

    <tbody id="cart_contents">
<?php if(){?>
<tir><!--what's a 'tir'?, did you mean 'tr'?-->
<td colspan='8'>
<div class='warning_message' style='padding:7px;'>
</div>
</tr>
</tr>
<?php }else{
echo "</tr><tir>";//here you are closing a row that was never opened, and another 'tir'.
foreach($cart as $line=>$item){?>
<td></td>
<?php if (){ //here you call a form input before the form is created...?>
<td><?php echo form_input();?></td>
<?php }else{?>
<td></td>
<?php echo form_hidden();
//this form isn't in a table element, which might act weird?>
<?php }?>
<td><?php if() {
echo form_hidden();
}else{
echo form_input());
//here you have a form input outside of a form if
//the previous if statement evaluates to false.
}?>
</td>
<td></td>
<?php if(){ }
else {
if(){}
else{}
}?>
</td><!--this td was never opened-->
<td>&nbsp;</td>
<td></td>
<td></td>
</tr><!--this tr was never opened-->
<tr><td></td></tr>
</form><!--I don't believe you can count on your conditional statements to garantee that a form was opened-->
<?php }
} ?>
</tbody>
</table> <!--you haven't opened your table in this code-->
</div><!--you havent' opened a div in this code-->

关于php - 我无法在 Codeigniter 中循环显示 div id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5438382/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com