2014-05-12 1 views
0

PHP에서 JavaScript로 배열을 변환하려고하는데 작동하지 않는 것 같습니다. 내가 JSON으로도 시도했습니다JSON이 작동하지 않아 JavaScript 배열에 PHP 문자열 배열을 전달 하시겠습니까?

$query = 'SELECT coupon FROM '.$disc; 
$coupdb = array(); 
$results = $newdb->get_results($query); 
foreach($results as $result) 
$coupdb[] = $result->coupon; 

echo $coupdb[0]; //This shows perfectly the content but I want to send this array to a Javascript file. 

:

여기
$coupdb_js = json_encode($coupdb); 

내 자바 스크립트 파일을 것 discount.js :

var coupdb = <?php echo $coupdb ?>; 
alert(coupdb[0]); 

및 JSON과 :

var coupdb = <?php echo $coupdb_js ?>; 
alert(coupdb[0]); 
여기 내 PHP 코드 query.php입니다
+0

'$의 newdb'은 무엇을? – Markasoftware

+0

'var coupdb = ;'. 생성 된 JS를 보셨습니까? 'var coupdb = Array;'가 올바르지 않은 것은 분명합니다. – Jon

+0

예, 실제로 json 인코딩이 아닙니다. 단지 문자열로 변환하려고 시도하지만 작동하지 않습니다. 그리고 당신은 그것을 해독하려하지 않습니다 – Markasoftware

답변

0

@Jon이 "예기치 않은 토큰 <"을 표시합니다 ... <?을 알 수없는 토큰으로 사용합니다.

PHP가 처리되지 않습니다. 이 파일이 .js 인 경우 서버가 해당 파일을 처리하도록 설정하지 않으면 작동하지 않습니다 (나쁜 아이디어)

대신 HTML의 <script> 태그에 있어야합니다. AJAX 호출.

+0

당신은 완전히 옳습니다. 이것은 .js 파일에 있으며 PHP 태그를 인식 할 수 없습니다. – user3321425

+0

@ user3321425 코드 및 예제는 우리 쪽에서 디버깅하기가 쉽지 않습니다.웹 서버를 통해 PHP 파일을 URL로로드 한 다음 jQuery에서 ParseJSON과 같은 코드를 사용하여 디코딩 할 수 있습니까? http://api.jquery.com/jquery.parsejson/ – JakeGould

+0

죄송합니다. @Jake 붙여 넣을 코드가 많아 알아 내기가 어렵습니다. 그러나 이력서는 json의 유무에 관계없이 $ coupdb []를 .js 파일에 전달하는 것으로 증명되었습니다. PHP 태그 해석에 문제가있는 것처럼 보입니다.

0

마지막으로 나는 방법을 발견했습니다, 그것은 쉬운 방법이지만 아마 최고의 하나 :

내가 bbdd에서 자바 스크립트 파일을 사로 잡았 coupdb 변수 보낸 내 PHP에서 :

<?php 
$DB_USER="dbuser"; 
$DB_PASSWORD="passdb"; 
$DB_NAME="dbname"; 
$DB_HOST="dbhost"; 

$newdb = new wpdb($DB_USER, $DB_PASSWORD, $DB_NAME, $DB_HOST); 
$disc="discounts"; 


$query = 'SELECT coupon FROM '.$disc; 
     $coupdb = array(); 
     $results = $newdb->get_results($query); 
     foreach($results as $result) 
     $coupdb[] = $result->coupon; 

?> 
<script type="text/javascript"> 
    var coupdb = <?php echo json_encode($coupdb); ?>; 
</script> 

그리고 JS 파일에 나는 일반적으로 변수 사용 :

alert (coupdb[0]); 
관련 문제