在锚定标记html上单击javascript
我试图在单击或更改按钮时更改选择查询 general表中的table name字段名称等于page=(关于,ContactInformation)后的片段 我没有得到任何错误,也没有得到任何结果 索引页代码在锚定标记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
<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> About us</a></li>
<li><a href="?page=ContactInformation" onchange="selectQuery()"><i class="fa fa-list-alt"></i> 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);
}
?>