0

我需要知道出了什么问题。PHP 不返回任何内容。我认为变量不会出现在 PHP 文件中。请帮助我找出问题所在。

<?php
defined('_JEXEC') or die;
$db = JFactory::getDbo();
$an=$_POST['an'];
$fac=$_POST['fac'];
$uni=$_POST['uni']; 

$result1 = mysql_query("SELECT * FROM drv_uni_$uni WHERE an='$an'");

while($row = mysql_fetch_array($result1)){
     $display_string = "<option value=\"".$row['materie']."\">". $row['materie'] ."</option>";
}
     echo $display_string;
?>

Javascript

function  getValFromDb() {
    var valoare_selectata_uni = document.getElementById('category').value;
    var valoare_selectata_fac = document.getElementById('subcategory').value;
    var valoare_selectata_an = document.getElementById('an').value;
    var url = "modules/mod_data/tmpl/script.php";
    var params = 'uni=' + valoare_selectata_uni + 
                 '&fac=' + valoare_selectata_fac +
                 '&an=' + valoare_selectata_an;

    if (window.XMLHttpRequest) { 
        AJAX=new XMLHttpRequest(); 
    } else { 
        AJAX=new ActiveXObject("Microsoft.XMLHTTP"); 
    }

    if (AJAX) {
        AJAX.open("POST", url, false);
        AJAX.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
        AJAX.onreadystatechange = function() {
            if(AJAX.readyState == 4 && AJAX.status == 200) {
                var answer = AJAX.responseText;
                document.getElementById('materie').innerHTML = answer;
            }
        }; 
        AJAX.send(params);
    }
}
4

1 回答 1

0

您可以使用以下几种方法调试代码。

  1. 您可以print_r($result1)首先查看您的 SQL 是否返回您想要的结果。如果没有尝试处理查询。

  2. $display_string = "<option value=\"".$row['materie']."\">". $row['materie'] ."</option>";错了,你应该有一个像下面这样的。$display_string .= "<option value=\"".$row['materie']."\">". $row['materie'] ."</option>";. 你不见了.=

  3. if had static variables and included on the main it shows good.而不是$_POST使用 Joomla 检索 POST 数据的方式JRequest::getVar('an');阅读更多

让我知道我可能会帮助你的结果。

于 2012-12-28T02:56:42.910 回答