如何在单独的页面中回显某些内容

时间:2012-10-31 02:30:51

标签: php

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

$moduleHTML  = "";  

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

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

  <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页面中的$dbModuleId and $dbModuleName回显到editsession.php页面(上面的脚本)?

2 个答案:

答案 0 :(得分:0)

在不同的请求中调用php脚本,还是彼此包含在一起?如果有不同的请求,您可以将变量存储在$ _SESSION中,并在请求之间使用它。如果在同一个请求中,则该变量可以位于相同的范围内,也可以使用global关键字在范围内共享。

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

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

通常不推荐全球。还有全局数组的东西。只是取决于你是否在同一个请求中。

答案 1 :(得分: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;