2012-10-31 4 views
4

이 가능한 경우 내가 모르는 뭔가를 반향하지만,이 페이지에서 나는 다음이 코드가 있습니다방법은 별도의 페이지

$moduleHTML = ""; 

while($sqlstmt->fetch()) { 
    $moduleHTML .= "<option value='$dbModuleId'>" . $dbModuleId . " - " . $dbModuleName . "</option>".PHP_EOL; 
    $outputmodule = ""; 
     $outputmodule .= "<p><strong>Module:</strong> " . $dbModuleId . " - " . $dbModuleName . "</p>"; 
} 

을하지만 다른 페이지에서 변수 $outputmodule 에코 싶다.

<script type="text/javascript"> 

    function getModules() { 
    var course = jQuery("#coursesDrop").val(); 
    jQuery('#modulesDrop').empty(); 
    jQuery('#modulesDrop').html('<option value="">Please Select</option>'); 
    jQuery.ajax({ 
    type: "post", 
    url: "module.php", 
    data: { course:course }, 
    success: function(response){ 
    jQuery('#modulesDrop').append(response); 
    } 
    }); 


    } 


    </script> 

... 

<? 

$moduleHTML = ""; 
$moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL; 
$moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL; 
$moduleHTML .= '</select>'; 

echo $outputmodule; 

... 

문제점 : 그래서 아래 (module.php) 위의 스크립트를 연결하고, 에코를 포함하고, 여기서,은 함유하는 경우, 모듈의 일부가 드롭 다운 메뉴 AJAX 포함 다른 페이지에 대한 코드는 위의 에코에 대해 정의되지 않은 오류가 발생한다는 것입니다. 제 질문은 module.php 페이지의 $dbModuleId and $dbModuleName을 editsession.php 페이지 (위의 스크립트)에 어떻게 반영 할 수 있습니까?

+0

유일한 방법에

$outputArray = array(); while($sqlstmt->fetch()) { $outputArray['moduleHTML'] = "<option value='$dbModuleId'>" . $dbModuleId . " - " . $dbModuleName . "</option>".PHP_EOL; $outputArray['outputModule'] = "<p><strong>Module:</strong> " . $dbModuleId . " - " . $dbModuleName . "</p>"; } echo json_encode($outputArray); 

그리고 JQuery와 사용하여 값을 추가 할 싶지 않는 경우 $ _SESSION 변수에 값을 저장하는 것입니다. 그것은 지저분한 일이 될 수 있으며 $ _SESSION 값을 재설정해야합니다. – rws907

+0

URL의 var 값으로 다른 페이지로 리디렉션 할 수 있습니다. http : //site.tld/? var = yourvarcontent 그런 다음 새 페이지에서 $ _GET [ 'var']로 var 값을 읽습니다. Idk는 보안이 중요하다면이 방법을 권장하지 않습니다. –

+0

아약스 대신 모듈 "드롭 다운 메뉴의 드롭 다운 값을 찾아 낼 수있는 별도의 페이지로 이동하는 방법이 있습니까? module.php 페이지의 코드를 editsession.php 페이지, 어떻게 든 같은 페이지 내에서 드롭 다운 메뉴에 액세스하기 위해 아약스를 얻을 수 있습니까? – user1723760

답변

0

당신은 다음 JSON 배열로 값을 다시 전달할 수있는 세션을 사용하여 디코딩 페이지

<script type="text/javascript"> 

function getModules() { 
    var course = jQuery("#coursesDrop").val(); 
    jQuery('#modulesDrop').empty(); 
    jQuery('#modulesDrop').html('<option value="">Please Select</option>'); 
    jQuery.ajax({ 
     type: "post", 
     url: "module.php", 
     data: { course:course }, 
     success: function(response){ 
      var outputjQuery.parseJSON(response) 
      jQuery('#modulesDrop').append(output.moduleHTML); 
      jQuery('#outputModule').html(output.outputModule); 
     }); 
    }); 


} 


</script> 

... 

<? 

$moduleHTML = ""; 
$moduleHTML .= '<select name="modules" id="modulesDrop">'.PHP_EOL; 
$moduleHTML .= '<option value="">Please Select</option>'.PHP_EOL; 
$moduleHTML .= '</select>'; 
$moduleHTML .= '<div id="outPutModule"></div>; 

echo $moduleHTML; 
0

PHP 스크립트가 다른 요청 중에 호출 되었습니까, 아니면 서로 포함되어 있습니까? 다른 요청 인 경우 변수를 $ _SESSION에 저장하고 요청간에 사용할 수 있습니다. 동일한 요청 내에서 변수가 동일한 범위에 있으면 사용할 수 있거나 global 키워드를 사용하여 범위를 공유 할 수 있습니다.

http://php.net/manual/en/features.sessions.php

http://php.net/manual/en/language.variables.scope.php

전역은 일반적으로 권장되지 않습니다. 그리고 전역 배열이 있습니다. 같은 요청에 속하는지 여부에 달려 있습니다.

+0

안녕하세요, 사용자가 editsession.php 페이지의 "코스"드롭 다운 메뉴에서 선택하는 것에 따라 jquery가 호출됩니다. 사용자가 "코스"드롭 다운 메뉴에서 옵션을 선택하면 ajax를 사용하여 module.php 페이지에 액세스하고 선택한 코스에 따라 "모듈"드롭 다운 메뉴의 값이 변경됩니다. 그럼 내가해야할 일은 무엇일까요? – user1723760

관련 문제