首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >来自mysql数据库的x-editable select with options value

来自mysql数据库的x-editable select with options value
EN

Stack Overflow用户
提问于 2016-01-17 05:03:03
回答 2查看 2K关注 0票数 1

所以我在bootstrap中使用了x-editable,这对我来说是很可怕的。

有没有人能帮我把mysql数据库中的选项值设置为x-editable select options?

这是我的php代码

代码语言:javascript
复制
$result1 = ("SELECT * FROM users where type='agent'") or mysql_error(); 
    $users=mysql_query($result1);
        while($rowa = mysql_fetch_array($users)){

        ?>
        <option name="agent" value = "<?php echo $rowa['username']; ?>" >
            <?php echo $rowa['username']; ?>
        </option>
    <?php
    }
?>
EN

回答 2

Stack Overflow用户

发布于 2016-01-17 05:30:09

因此,您要做的实际上是创建一个JSON字符串,并将其放入anchor元素中。让我们看看那是什么样子。

首先,您需要将用户名推入一个数组对象it,然后对其进行json编码。它看起来像这样:

代码语言:javascript
复制
$usernames = array();
while(.....){
    $usernames[] = $rowa['username'];
}
$usernames = json_encode($usernames);

<a href="#" 
    id="username" //your reference 
    data-type="select" //so the x-editable library makes a select list
    data-name="username" 
    data-pk="1" 
    data-value="5" 
    data-original-title="Select Username" 
    data-source="<?php echo $usernames?"> //this is your JSON array of usernames.
 ">
    Username
</a>

这将产生一个用户名的选择列表。

Here's your functioning jsFiddle

票数 0
EN

Stack Overflow用户

发布于 2017-09-12 00:04:42

我也偶然发现了与约翰尼斯·基尔相同的问题。然而,在进行了一些调查之后,我发现了以下内容,并最终修复了它--不知何故。这可能不是最优雅的方法,因此改进的想法非常受欢迎。

这是我想要实现的:在选择字段中,应该显示来自MySQL查询的结果。在select操作成功后,我想用新内容刷新div,这些内容也是通过外部PHP文件加载的。

上面提到的解决方案中的问题: PHP返回的JSON-Array (在我的例子中)如下所示:

代码语言:javascript
复制
[{"value":"1","text":"TEXT1"},{"value":"2","text":"TEXT2"}]

小提琴中使用的数组如下所示:

代码语言:javascript
复制
{'1': 'something', '2': 'another thing'}

所以我假设双引号可能是问题所在。我当时用PHP写的:

代码语言:javascript
复制
$myarray = str_replace("\"", "'", $myarray);

就像一、二、三一样简单,它成功了。下面是整个过程:

定义可编辑选择元素的Javascript:

代码语言:javascript
复制
$('#myselect-id').editable( {
    success: function(response, newValue) {
        $( "#mydiv-id" ).load("loading-external-results.php");
        }
    });

PHP

代码语言:javascript
复制
    <?php
$myarray = array();
$query = "SELECT id, field1 FROM mytable";
$result = mysqli_query($dbconnect, $query);
while ($row = mysqli_fetch_array($result))
{
    $myarray[] = array('value' => $row['id'], 'text' => $row['field1']);

}
$myarray = json_encode($myarray);
$myarray = str_replace("\"", "'", $myarray);
?>

用于生成元素的select-element:

代码语言:javascript
复制
    <a href="#" id="myselect-id"
            data-type="select"
            data-name="fieldname-in-table-to-update"
            data-pk="id-of-the-affected-mysql-row"
            data-value="5"
            data-url="post.php"
            data-source="'.$myarray.'">Text for Select</a>
        <div id="mydiv-id">
Some Content, replaced on success of select element.
    </div>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34832105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档