Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/256.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在锚定标记html上单击javascript_Javascript_Php_Html_Mysql_Ajax - Fatal编程技术网

在锚定标记html上单击javascript

在锚定标记html上单击javascript,javascript,php,html,mysql,ajax,Javascript,Php,Html,Mysql,Ajax,我试图在单击或更改按钮时更改选择查询 general表中的table name字段名称等于page=(关于,ContactInformation)后的片段 我没有得到任何错误,也没有得到任何结果 索引页代码 <script> function selectQuery(str) { if (str == "") { document.getElementById("editor").innerHTML = ""; return; } el

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

general表中的table name字段名称等于page=(关于,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>

函数selectQuery(str){
如果(str==“”){
document.getElementById(“编辑器”).innerHTML=“”;
返回;
}否则{
if(window.XMLHttpRequest){
//IE7+、Firefox、Chrome、Opera、Safari的代码
xmlhttp=新的XMLHttpRequest();
}否则{
//IE6、IE5的代码
xmlhttp=新的ActiveXObject(“Microsoft.xmlhttp”);
}
xmlhttp.onreadystatechange=函数(){
if(xmlhttp.readyState==4&&xmlhttp.status==200){
document.getElementById(“编辑器”).innerHTML=xmlhttp.responseText;
}
}
open(“GET”、“querys.php?page=“+str,true”);
xmlhttp.send();
}
}
querys.php页面

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


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

    echo $result; 

?>

您没有获取这些结果。您需要使用
mysql\u 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);

?>

是的,但我不能回显$page,它不是来自数据库,而是来自另一个数据库page@karmacat当你点击该链接时,会发生什么?更改查询字段名称以获得不同的结果,我认为错误在索引页的javascript中。你能检查一下(点击或更改)吗@karmacat为什么会有错误?检查控制台浏览器。无论如何,试试这个
<?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);
}

?>