onclick javascript on anchor tag html

时间:2014-12-13 11:26:40

标签: javascript php html mysql ajax

我试图在点击或更改按钮时更改选择查询,

表中的表名字段名称一般等于页面后的片段=(关于,ContactInformation)

我没有收到任何错误也没有得到任何结果

索引页面代码

<script>
function selectQuery(str) {
    if (str == "") {
        document.getElementById("editor").innerHTML = "";
        return;
    } else { 
        if (window.XMLHttpRequest) {
            // code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        } else {
            // code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        xmlhttp.onreadystatechange = function() {
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                document.getElementById("editor").innerHTML = xmlhttp.responseText;
            }
        }
        xmlhttp.open("GET","queries.php?page="+str,true);
        xmlhttp.send();
    }
}
</script>

<ul>
  <li><a href="?page=About" value="About" onclick="selectQuery(this.value)"><i class="fa fa-file-text"></i>&nbsp;&nbsp;About us</a></li>
  <li><a href="?page=ContactInformation" onchange="selectQuery()"><i class="fa fa-list-alt"></i>&nbsp;&nbsp;Contact us</a></li>
</ul>

queries.php页面

<?php
    $page = intval($_GET['page']);


    $result = mysql_query("SELECT general.'".$page."' ". 
    "FROM general") or trigger_error(mysql_error());

    echo $result; 

?>

我试图直接在queries.php文件中回显$ page但是它没有显示,似乎它甚至没有到达这里,

所以任何人都可以帮助

1 个答案:

答案 0 :(得分:1)

您无法获取这些结果。您需要使用mysql_fetch_*函数来获取这些行。现在接下来的部分是您是想获得JSON响应还是只输出可以直接使用的HTML标记。

这里提取的内容如下:

<?php

$page = $_GET['page'];

$data = array();
$result = mysql_query("SELECT general.".$page." FROM general") or trigger_error(mysql_error());
while($row = mysql_fetch_assoc($result)) {
    // fetch the results
    $data[] = $row;
}

echo json_encode($data);

?>

强制性注释:

  

Please, don't use mysql_* functions in new code。它们不再被维护and are officially deprecated。请参阅red box?转而了解prepared statements,并使用PDOMySQLi - this article将帮助您确定哪个。如果您选择PDO here is a good tutorial

这是mysqli的一个版本:

<?php

$default_columns = array('About', 'ContactInformation', 'Others', 'Home');

if(isset($_GET['page']) && in_array($_GET['page'], $default_columns)) {

    $return_value = array();

    $page = $_GET['page'];
    $db = new mysqli('localhost', 'username', 'password', 'database');
    $sql = "SELECT $page FROM general";
    $query = $db->query($sql);
    while($row = $query_fetch_assoc()) {
        $return_value[] = $row[$page];
    }

    echo implode(' ', $return_value);
}

?>