2012-09-06 2 views
0

heredoc 내부에이 스크립트가 있습니다.이 스크립트는 테이블에 json을 파싱하려고하는데,이 스크립트를 실행하지 않으면 실제로 작동합니다. 스크립트 자체는 두 부분으로 나누어 져 있으며 php에서는 두 개의 다른 공용 함수로 comunicates됩니다. 첫 번째 부분은 모든 세션을 포착하여 다른 테이블에서 json을 읽습니다. 두 번째 부분은 특정 세션에서 수행 된 모든 작업을 포착하려고합니다. 조금 복잡해 보이지만 두 번째 부분은 작동하지 않습니다. 자바 스크립트에서 PHP로 돌아가서 자바 스크립트로 돌아 간다. 작동하지 않는 부분은 다음과 같습니다heredoc의 php와 javascript

var tblRow = '<tr><td>{$this->obj->display_ses('logs', 
''+item.sesion)}</td><tr> 

이 내가 잡으려고 때, 0sesion로 "item.sesion"쇼 세션 내에서 수행 얼마나 많은 작업을 보여 주지만 일부입니다 산출.

<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> 

그리고 주어진 sesion 내부에서 수행 된 작업의 수를 반환하는 php 함수입니다.

public function display_ses($db, $str) { $r = mysql_query("SELECT * 
from ".$db." WHERE session='".$str."'"); $num_rows = 
mysql_num_rows($r); return $str; } 

은 "반환 $ str을"은 0sesion을 보여줍니다. 그래서 내가 그것을보고, 자바 스크립트에서 변수는 에 전달되지 않습니다 PHP에서.

I 출력 문자열 itemsesion를 도시

{$this->obj->display_ses('logs', **''+item.sesion**)} 

{$this->obj->display_ses('logs', **item.sesion**)} 

로 변경하는 경우.

+0

은 어디 blockquotes 및 코드 블록을 사용 몰라? –

답변

0

문자열 또는 heredoc에서 함수 호출이 아닌 일반 변수와 개체 참조 만 확장됩니다. heredoc을 사용하는 대신 PHP 모드로 전환해야합니다.

?> 
w = '<tr><td> <?= $this->obj->display_ses('logs', ''+item.sesion) ?> </td><tr> 

아니면 그냥 짧은 비트라면, 당신은 PHP 문자열 연결 사용할 수 있습니다

echo '<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"). 
    "</td><td>'+item.ip+'</td><td>'+item.country+'</td><td>'+item.data+'</td></tr>'";