【问题标题】:Permanently adding a new element to a SELECT box将新元素永久添加到 SELECT 框
【发布时间】:2013-03-06 14:33:30
【问题描述】:

我有一个带有 SELECT 框的表单,该框是通过使用 php 调用 mySQL 数据库来填充的。这部分目前正在工作,因此请忽略创建此示例时的拼写错误。

<select name = "animal" id="animal" size="1">
<?php
    $sql = "SELECT * from animals";
    $result = mysqli_query ($db, $sql);

    while ($row = mysqli_fetch_assoc($result)) {
    ?>
        <option value="<?= $row['id'] ?>">  <?= $row['animal'] ?> </option>
<?php
    }
?>
</select>

id 是选项的主键,不显示(这是需要的)。如果当前选项是(括号中的数字是这些元素的主键,不向用户显示):

(1) 狮子
(2) 老虎

我怎样才能做到这一点,例如,用户可以将熊添加到列表中,并让它出现在此表单的所有未来使用中?对于奖励积分,此特定元素在页面上重复多次,因此如果将 Bears 添加到第一行,那么第二行将更新为包含 Bears 会很好。

实际表格很简单:id和animal,其他字段不需要填写。

表上的选项是 php、javascript、jquery 和 AJAX 调用。

【问题讨论】:

  • 您只需根据用户的请求在数据库中插入“Bears”。您可以使用子程序在多个位置打印出相同的&lt;select&gt;

标签: php jquery html forms select


【解决方案1】:

显然,您需要为失踪的动物提供一个字段。然后,一旦点击提交,您就可以使用 ajax (jquery/javascript) 将其发送回服务器 (php),然后服务器会发送回一个更新的列表 (json),您可以使用该列表使用 javascript/jquery 重新填充给定的下拉列表。

此任务所需的技能包括 php、mysql、ajax、json/xml 和 jquery/javascript。

【讨论】:

    【解决方案2】:

    您需要识别该用户何时返回您的网站,因此给他们一个 cookie,这可能看起来几乎不安全,但请考虑一下。

    在该 cookie 中放置熊的 id 或某种密钥,以便您在从数据库中选择它们的偏好时带上该 id。

    如果 id 是一个整数,那么过滤它是很简单的。

    如果您可以看到自己更改数据库中的 id,那么这是行不通的,但我不忍心想到有人这样做。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-07-07
      • 2016-12-13
      • 2011-03-25
      • 2017-01-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多