4

我不知道这是否可行,但在此页面上我有以下代码:

$moduleHTML  = "";  

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

$outputmodule但我想在另一个页面中回显变量。所以下面是另一个页面的代码,其中包括链接上面的脚本(module.php)的ajax,它包含回显的位置以及它包含模块下拉菜单的一部分的位置:

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

...

问题是我收到上述回声的未定义错误。我的问题是,如何$dbModuleId and $dbModuleName将 module.php 页面中的内容回显到 editsession.php 页面(上面的脚本)?

4

2 回答 2

0

php 脚本是在不同请求期间调用的,还是相互包含的?如果请求不同,您可以将变量存储在 $_SESSION 中,并在请求之间使用它。如果在同一个请求中,那么变量将在同一范围内可用,或者您可以使用 global 关键字跨范围共享。

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

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

通常不推荐使用全局变量。还有全局数组的东西。仅取决于您是否在同一请求中。

于 2012-10-31T02:39:19.193 回答
0

如果您不想使用会话,您可以将您的值作为 json 数组传回,然后对其进行解码并使用 jquery 附加您的值

   $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);

然后在你的页面上

<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;
于 2012-10-31T02:59:21.150 回答