我在一个heredoc中有这个脚本,我试图将一个json解析为一个表,如果我不夸大它,它实际上是有效的。脚本本身分为两部分,并与 php.ini 中两个不同的公共函数通信。第一部分使用捕获每个会话从另一个表中读取 json。第二部分是试图捕捉在该特定会话上所做的所有操作。听起来可能有点复杂,但第二部分不起作用。我从 javascript 到 php 再回到 javascript。不工作的部分是:
var tblRow = '<tr><td>{$this->obj->display_ses('logs',
''+item.sesion)}</td><tr>
这是它显示在该会话中执行了多少操作的部分,但是当我尝试捕获输出时,“item.sesion”显示为0sesion 。
<script> $('#alllogins tbody').html(''); var myObject = {$this->obj->display_mysql_data_rows("logins.id as id,logins.ip as ip,logins.sesion as sesion, logins.country as country,logins.data as data,logins.user as user,admin.emri as emri, admin.mbiemri as mbiemri", "(logins,admin)","$str ORDER BY id DESC LIMIT $offset, $rowsperpage")}; $.each(myObject, function(i, item) { var tblRow = '<tr><td>{$this->obj->display_ses('logs', ''+item.sesion)}</td><td>'+item.ip+'</td><td>'+item.country+'</td><td>'+item.data+'</td></tr>'
$(tblRow).appendTo('#alllogins tbody'); });
</script>
这是 php 函数,它返回在给定会话中执行的操作数。
public function display_ses($db, $str) { $r = mysql_query("SELECT *
from ".$db." WHERE session='".$str."'"); $num_rows =
mysql_num_rows($r); return $str; }
“return $str”显示0sesion。所以正如我所看到的,javascript 中的变量没有在 php中传递。
当我改变
{$this->obj->display_ses('logs', **''+item.sesion**)}
至
{$this->obj->display_ses('logs', **item.sesion**)}
输出显示字符串itemesion。