如何编写php MySql查询

时间:2012-01-08 17:36:46

标签: php mysql

我希望能够从选择框中进行选择并查看所选表格。

此时我对php / MySQL的技能水平是:

$query = "SELECT * FROM electrical ORDER BY item_id LIMIT $offset, $RPP"; 

使用此查询,页面加载时会填充div

我有一个选择框,有6个选项:

<form>
    <select name="dbtables" onchange="showTable(this.value)" id="selectBox">
        <option value="">Select a materials table:</option> 
        <option value="" id="hr"></option> 
        <option value="equipment">Worker Equipment</option>
        <option value="tool">General Tools</option>
        <option value="electrical">Electrical Materials</option>
        <option value="mechanical">Mechanical Materials</option>
        <option value="plumbing">Plumbing Materials</option>
        <option value="hvac">HVAC Materials</option>
    </select>
</form>

每个选项都是一个MySQL数据库中的表。

showTable的脚本正在运行,在选择警报后显示选择的选项。

function showTable(str) {
    if (str == "") {
        document.getElementById("materials").innerHTML = "";
        return;
    }
    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("materials").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("GET", "index.php?q=" + str, true);
    xmlhttp.send();
    alert(str);
}

任何指示或帮助表示赞赏。

2 个答案:

答案 0 :(得分:1)

index.php中的

使用$ _GET方法选择$ str值并构造查询。然后运行该查询并回显数据。之后,您可以在alert()之后在脚本文件中调用此函数。

function useHttpResponse() {
   if (http.readyState == 4) {
    if(http.status == 200) {
       var txt = http.responseText;
    var response_msg="<h4><span class='darkblue'>" + txt + "</span></h4>"
       document.getElementById('showtime').innerHTML = response_msg;
    }
  } else { //you may skip this else portion
  document.getElementById('showtime').innerHTML = '<img src="images/loading.gif" /><span class="darkblue">retrieving data...</span>';
  }
}

此处,您获取的数据将显示在ID为“showtime”的div上。在获取时间期间,加载gif将在“showtime”div中可见。或者你可以跳过其他部分。 希望这个功能能帮到你。

答案 1 :(得分:0)

我认为您正在寻找的是在数据库上执行的SQL查询。你应该做的是将查询字符串中的q - 变量插入到SQL查询中,如下所示

$query = "SELECT * FROM " . $_REQUEST['q'] . " ORDER BY item_id LIMIT $offset, $RPP";

当然,您应该检查或转义变量以防止SQL注入,使用类似mysql_real_escape_string的内容,但这不是这个问题的范围。