首页 > 解决方案 > 数据库生成的下拉菜单在选择时为更多变量提供来自同一数据库的值

问题描述

我希望标题不要太神秘,我相信还会有其他类似的主题,但似乎无法指出正确的术语。

我有一个包含 3 个下拉菜单的表单。我们称他们为“销售顾问”、销售电子邮件和销售团队。

当从“销售顾问”下拉列表中选择销售顾问时,我要做的是为“销售电子邮件”和“销售团队”赋予一个价值

问题是,我正在使用 mysql 来提取每个下拉列表的数据。见下文:

<div id="sc">
    Sales Consultant
    <input class="" type="text" list="salesconsultant" name="salesconsultant" placeholder="Start typing consultants name" required />
    <datalist id="salesconsultant">
        <?php
            $sql = "SELECT consultant, id FROM salesconsultants";

            $result = $conn->query($sql);

            if (!$result) die($conn->error);

            if($result->num_rows > 0 ) {
                while($row=$result->fetch_assoc()) {
                    echo "<option value=\"".$row["id"]."\">".$row["consultant </option>";
                }

                echo "</datalist>";
            } else {
                echo"record 0";
            }
        ?>
</div>

我在数据库中的其他行是“salesemail”、“id”、“consultant”和“teamid”。

So when sales consultant 1 is selected it will give the variable $salesemail the value of consultant 1's 'salesemail' and so on.

这可能吗?

标签: javascriptphpjquerymysqlmysqli

解决方案


只需将下面的行更改为:

echo '<option value="'.$row["id"].'".','."'.$row["salesemail"].'">'.$row["consultant"].'</option>'; 

在上面的代码中,您将两个值分开,并且您可以values像这样得到这些:

        $result = $_POST['yourselectbox'];
        $r1 = explode(',', $result);
        echo "id: ". $r1[0]."<br />";
        echo "email: ". $r1[1]."<br />";

希望这会奏效!


推荐阅读