2016-07-06 2 views
0

JSON에서 작동하는 함수가 있습니다.Javascript 변수는 처음에만 작동합니다.

문제는 변수 id가 처음에는 태그에서만 작동하지만 두 번째 또는 세 번째는 작동하지 않는다는 것입니다.
태그가 즉시 닫히지 않았거나 PHP 배열에서 사용하려고하는 두 번째 및 세 번째 때문에. 하드 코어 (<?=$main[1]['dir]?>) 이미지가 표시됩니다 (따옴표 필요 없음, 정수 필요) 때문에 배열이 작동하는지 확신합니다.
문제는 동적으로 만들어야 만 일부 숫자를 입력 할 수 없다는 것입니다.
왜 처음에는 작동하지만 다른 제품에서는 작동하지 않습니까?

+3

PHP는 서버에서 실행됩니다 ... JavaScript 내부에서는 실행할 수 없습니다. – epascarello

+0

(즉, ''코드가 처음으로 실행 됨) –

+0

완전히 잊어 버렸습니다 ..... 내 이미지를 표시하는 방법에 대한 제안이 있으십니까? –

답변

0

@epascarello가 정확합니다. PHP는 서버 측, JS는 클라이언트 측입니다. 대신 업데이트

처럼 뭔가를 시도 :이에서

tbl_row += <?php print("\"<a href='article.php?cat=$cat&subcat=$subcat&id=\" + id + \"'>\""); ?> 
tbl_row += <?php print("\"<div class='subCatImg'><img src='imagesDB/articles/$phpVal1/$phpVal2'></div>\""); ?> 
tbl_row += <?php print("\"<div class='subCatName'>\" + this.ProductNameBG + \"</div>\"");?> 
tbl_row += <?php print("\"<div class='subCatText'>\" + this.ProductNameBG + \"</div>\"");?> 
tbl_row += <?php print("\"</a>\"");?> 

을, 그렇게 PHP는 다차원 배열의 구문 분석 할 수있는 PHP로 아이디의 가치와 JS에서 디렉토리를 통과해야합니다. <?=$main["+id+"]['dir']?>/<?=$main["+id+"]['image']?>$phpVal1/$phpVal2으로 변경되었습니다.

버튼을 클릭하는 등 여러 가지 방법으로 작업을 수행 할 수 있습니다. 하지만 php가 먼저 수행 된 다음 JS가 수행됩니다.

본질적으로 서버 (PHP)에서 모든 값을 가져와 클라이언트 측 (JS)을 작성하도록하고 있습니다.

+0

''PHP 구문 분석 오류 : 예기치 않은 구문 오류 '' '''이 줄''어떻게 될지 모르겠지만 어떻게 고칠 지 잘 모르겠다. 그것 –

+0

자바 스크립트를 PHP로 자바 스크립트를 전달하고 있기 때문에 당신이 문제가 있다고 생각합니다. $ 메인 [+ 아이디 +] [ 'dir'] 자바 스크립트 값을 작성하는 PHP 말했기 때문에 작동하지 않을 수 있습니다 .. . 당신이 이것을하고 싶다면 먼저 자바 스크립트 값을 PHP에 넘겨 주어야합니다. – Apolymoxic

+0

$ main [ "+ id +"] [ 'image'] (특히 $ main)이 php 배열 인 것으로 가정하고 있어요? – Apolymoxic

0

이 같은 JSON 객체로 PHP 배열을 변환 할 수 있습니다

var main = <?php echo json_encode($main) ?>; 

는 다음을 통해 반복.

관련 문제