【问题标题】:How to populate HTML dropdown with database values from json如何使用来自 json 的数据库值填充 HTML 下拉列表
【发布时间】:2020-07-14 06:38:13
【问题描述】:

我到处寻找,但似乎找不到解决问题的方法。 我有一个可以用 JEditable 编辑的表,我想做的是向它添加一个下拉菜单,该菜单从一个 json 文件中获取它的值,在该文件中我进行 SQLI 查询以获取数据。使用 json 文件的代码来自 JEditable,如果我在 json 中使用纯文本数组,则可以使用。如果我想使用 Query 它会中断。有什么建议吗?

我的 Edit.js 文件有这个:

   $(".editable-select-REG").editable("save.php", {
        type   : "select",
        loadurl : "REG.php",
        loadtext : "Fetching JSON…",
        submit : "OK",
        style  : "inherit"
    });

我的 HTML 下拉列表是这样的:(只是为了澄清,这适用于纯文本数组,所以我猜不需要更改)

    <td rowspan="2"><span class="editable-select-REG" name="REG"/><?php echo $row ['reg'] ?></td>

这就是我的 json.php 中的问题所在: 这有效:

    <? php
     $array['test1'] =  'test1';
     $array['test2'] =  'test2';
     $array['test3'] =  'test3';
     $array['test4'] =  'test4';
     $array['selected'] =  'selected one';
     echo json_encode($array);
     ?>

这基本上是我想要的:

 <?php
 include('config.php');

$sql = "SELECT reg FROM lfz";

$result = mysqli_query($db, $sql) or die("Error: ".mysqli_error($db));;

$regs = array();

while ($row = mysqli_fetch_array($result))
{
    array_push($regs, $row["reg"]);
}

echo json_encode($regs);
?>

正如我所说的基础工作,我只需要 json.php 文件的帮助来从数据库中获取我的值。

【问题讨论】:

  • 您的查询结果如何?你调试了吗?
  • 那么查询在我的管理员 php 中工作 :D 问题是我在这台 PC 上没有任何形式的控制台,因为它是一台工作 PC,他们禁用了它。甚至不能在浏览器中执行“检查元素”。顺便说一句,我需要使用 IE 和 Edge....
  • 你不需要整个while循环和一个空数组,因为当你查询数据库时,你会得到数组形式的数据。
  • 你能发布一个关于如何重写的代码 sn-p 吗?我对此很陌生:D
  • 尝试 var_dump($regs)。如果您是新手,最好自己开始学习。

标签: php html jquery json jeditable


【解决方案1】:

我刚刚将这段代码用于数组:

<?php
include('config.php');

$sql = "SELECT reg FROM lfz";

$result = mysqli_query($db, $sql) or die("Error: ".mysqli_error($db));;

$regs = array();
while ($row = mysqli_fetch_array($result))
{
    $regs[$row['reg']] = $row['reg'];
}
echo json_encode($regs);
?>

它确实从一开始就给了我正确的数组。它没有出现在下拉列表中的原因是旧的数组以某种方式干扰。我删除了它,现在它可以工作了。

【讨论】:

  • 在代码中使用die(mysqli_error($conn)); 是一个非常糟糕的主意,因为它可能会泄露敏感信息。更多解释见这篇文章:mysqli or die, does it have to die?
猜你喜欢
  • 2011-12-22
  • 1970-01-01
  • 2014-08-27
  • 1970-01-01
  • 2021-04-28
  • 2020-03-26
  • 2016-01-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多