Javascript 如何传递数组值或<;选项>;SQL查询的值?

Javascript 如何传递数组值或<;选项>;SQL查询的值?,javascript,jquery,mysql,Javascript,Jquery,Mysql,我的HTML中有一个函数调用,它创建一个新的mysql表,其中包含一个表列表,并将它们填充到options的元素中。然后,我需要填充其中一个选项的另一个select语句“onselect”或“onchange”,但我不知道如何将所选选项的值传递给sql查询中的变量。我只能通过手动为变量赋值来让它工作 它可能更容易使用: var option_user_selection = element.options[ whatever they select ].text 但是我不知道如何纠正这个查询循

我的HTML中有一个函数调用,它创建一个新的mysql表,其中包含一个表列表,并将它们填充到options的元素中。然后,我需要填充其中一个选项的另一个select语句“onselect”或“onchange”,但我不知道如何将所选选项的值传递给sql查询中的变量。我只能通过手动为变量赋值来让它工作

它可能更容易使用:

var option_user_selection = element.options[ whatever they select ].text
但是我不知道如何纠正这个查询循环

网址:


SQL查询生成器
数据集
属性

您的问题是
实际上不是元素,而是
元素的属性。这是一个常见的误解,并且使得
可能是最(也可能是唯一)令人困惑的因素

他们这样做的原因是为了使开发人员能够以有组织的方式向列表中添加任意数量的可选择选项,包括文本和值

因此,问题的解决方案很简单:当选择新的
选项时,取
元素的
值,而不是

此外,如果没有AJAX,您将遇到麻烦,因为PHP是一种服务器端语言,而不是客户端语言,因此它不是响应用户事件,而是响应服务器事件,比如接收提交的表单

<body>
<div id="container">
<div id="header">
    <h1>
        SQL Query Builder
    </h1>
</div>
<div id="content-container">
    <div id="data-sets"  title="Click on a Data Set">
        <h3>
            Data Sets
        </h3>
        <form name="myForm">
            <select size="34" style="width: 200px" id="selectBox1" name="dataSets" onChange="optionBlockRecipe2(this.selectedIndex)">

            <?php
                prepareTableList();
                optionBlockRecipe();
            ?>

            </select>
            <input type='hidden' id='myhidden' value=''>
    </div>
    <div id="attributes" title="Click on an Attribute">
        <h3>
            Attributes
        </h3>
            <select size="34" style="width: 200px" id="selectBox2" name="attributes" onClick="alert(this.options[this.options.selectedIndex].value)">
                <?php
                                        optionBlockRecipe2();
                ?>
            </select>
        </form>
    </div>

<?php
function prepareTableList()
{
mysql_query("drop table Table_List");
mysql_query("drop table TheJoins");

$rs = mysql_query("SHOW tables");

mysql_query("create table Table_List(
    TableName char(20) not null,
    TableEnglish char(20),
    PRIMARY KEY(TableName))");

mysql_query("create table TheJoins
    (Table1 char(20) not null
    ,Table2 char(20) not null
    ,TheJoin char(50)
    ,primary key(Table1,Table2))");


for($i = 0; $i < mysql_num_rows( $rs); $i++)
{
    $tmp = mysql_fetch_row( $rs );
    mysql_query("INSERT into Table_List(TableName) VALUES('$tmp[0]')");
    //print("<OPTION value=\"$tmp[0]:$tmp[0]\">$tmp[0]</OPTION>\n");
}
}

function optionBlockRecipe()
{
$rs = mysql_query("SELECT TableName FROM Table_List");
for($i = 0; $i < mysql_num_rows( $rs); $i++)
{
    $tmp = mysql_fetch_row( $rs );
    print("<OPTION value=\"$tmp[0]\" selected=\"selected\">$tmp[0]</OPTION>\n");
}
}
function optionBlockRecipe2()
{
    $temp = Orders;
$rs = mysql_query("DESCRIBE '$temp'");
for($i = 0; $i < mysql_num_rows( $rs); $i++)
{
    $tmp = mysql_fetch_row( $rs );
    print("<OPTION value=\"$tmp[0]:$tmp[1]\" selected=\"selected\">$tmp[0]</OPTION>\n");
}
}
?>