从 Javascript 选择中选择 SQL 查询


Selecting SQL Query from Javascript Selections

https://docs.google.com/file/d/0B9urXGIYtvx-YzdYNlllbUxFeHM/edit?usp=drive_web

附上一张我到目前为止所做工作的照片。这只是前端,我需要后端的帮助。

我有一个关于使用 SQL 根据这些选择显示表的问题。我使用 javascript 创建了这些下拉列表和选择,但我希望能够将它们传递给 sql 以根据选择搜索数据库并返回符合条件的任何内容。

解释一切:

我想在底部列出以与选择分开(例如,选择

组织 ID、组织名称、组织类型、事件 ID、事件名称)

然后我希望顶部的两个选择是 FROM(例如 FROM 事件、组织),然后当然将它们与 WHERE 连接起来。

然后我希望包含或排除与 WHERE 分开(例如 WHERE 事件 ID=32211)

我知道我也必须为此使用 PHP,这很好,我只需要帮助启动它以了解如何传递这些选择。

最简单的方法是使用操作属性将所有内容包装在 FORM 标记中。 action 属性将指定要将数据发送到的页面(默认情况下通过 http 帖子)。

例如,您可以输入action="搜索结果.php"。

您的服务器将从页面上 $_POST 变量内的所有输入接收值。 $_POST 变量是一个关联数组,其中键是输入元素的 name 属性。

因此,要获取人们输入的值,您需要执行以下操作:

if (isset($_POST)){
    $table=$_POST["Table"]; //where Table is the name of your first option box, it should get the value assigned to the option element.
}

获取值后,需要生成查询。 您应该考虑这样做的唯一方法是通过预准备语句或存储过程。

以下是 MSSQL 准备语句的 PHP 文档: http://us2.php.net/sqlsrv_prepare

它的长短:

//$conn is the database connection, $params is an array of the parameters to fill in the ?.
$sql = "SELECT FROM table WHERE id=?";
$stmt=sqlsrv_prepare ($conn, $sql , $params);

切勿通过连接用户输入来构建查询,这会让您容易受到 SQL 注入攻击。

如果你想要更多细节,你必须提供更多信息,数据库架构,表单上的HTML,一些预期的结果。