我正在使用Codeigniter 2.2
。
我正在尝试使用HTML表类库构建表。它还包含删除按钮。出于按钮的目的,我使用form_button()helper。我的代码的查看文件如下:
<?php
foreach($invoices as $row) {
$data = array(
'type' => 'button',
'content' => 'delete',
'class'=>'btn btn-default btn-sm dropdown-toggle',
);
$js='onclick="confirm_modal('base_url().'admin/invoice/delete/'. $row['invoice_id']')"';
$links = form_button($data,$js);
$this->table->add_row(
$this->crud_model->get_type_name_by_id('student',$row['student_id']),$row['title'],$row['description'],$row['amount'],$row['amount_paid'],$row['due'],$row['status'] ,$links
);
}
echo $this->table->generate();
?>
但在该行中:
$js='onclick="confirm_modal('base_url().'admin/invoice/delete/'. $row['invoice_id']')"';
我收到错误消息
意外的T_ STRING。
请帮助我。。。谢谢。。
答案 0 :(得分:1)
语法错误
$js='onclick="confirm_modal('base_url().'admin/invoice/delete/'. $row['invoice_id']')"';
缺少.
(s)
$js='onclick="confirm_modal(\''.base_url().'admin/invoice/delete/'. $row['invoice_id'].'\')"';
一个好的IDE将帮助您避免这些简单的错误。
T_STRING
是当PHP将文本解释为代码时使用的STRING令牌的名称,又称为交易的词法分析器/解析器部分。因此,UNEXPECTED T_STRING是一个意外的字符串,表示该字符串只是在意料之外的地方变冷。
根据另一条评论,您还缺少JS部分的'
。
另一种方法是HEREDOC
$url = base_url().'admin/invoice/delete/'. $row['invoice_id'];
$js= <<<SCRIPT
onclick="confirm_modal('{$url}')"
SCRIPT; //nothing can go here no spaces not even this comment.
使用HEREDOC,您可以自由使用两个引号,但不能在其中添加函数调用。您必须对结尾TAG保持谨慎(可以使用任何您想要的标记),但是结尾标记必须在其自己的行上,没有其他任何字符,甚至没有一个空格。
我忘记了,如果转到下一行,则将一行返回到该行中,无论如何看起来还是更好。 HEREDOC可能需要一点时间来适应,但在处理多种类型的报价时,他们确实可以释放报价,并使整体处理变得更简单。
答案 1 :(得分:0)
您做错了连拍 它应该像
$js='onclick="confirm_modal('.base_url().'admin/invoice/delete/'. $row['invoice_id'].')"';