如何在基于数据属性的x-editable select中显示mysql数据库中的数据

f1tvaqid  于 2021-06-18  发布在  Mysql
关注(0)|答案(4)|浏览(297)
$('#employee_data_leadstoassign').editable({
    container: 'body',
    selector: 'td.assignedTo',
    url: "gmupdate.php",
    title: 'assignedTo',
    type: "POST",
    dataType: 'json',
    source: [ <?php  
        $sql = $pdo->query("SELECT * FROM login ORDER BY name");
        while ($option = $sql->fetch()) {
            result[]=array('value': $option['code'], 'text': $option['name']);
        }  
        echo json_encode($result);              
    ?>
]});

在上面的代码中,我从数组中的mysql数据库获取值。但它不起作用。它显示了语法错误(出乎意料)。上面的代码怎么了?

hec6srdp

hec6srdp1#

必须在result[]=array….之前键入“$”。。。。
此外,必须使用“=>”而不是“:”

$result[] = array('value' => $option['code'], 'text' => $option['name']);
bpzcxfmw

bpzcxfmw2#

看起来您将javascript与php代码混合,导致php产生语法错误:

result[]=array('value': $option['code'], 'text': $option['name']);
imzjd6km

imzjd6km3#

您在php键值数组使用中使用了错误的符号 => 而不是 : ```
$('#employee_data_leadstoassign').editable({
container: 'body',
selector: 'td.assignedTo',
url: "gmupdate.php",
title: 'assignedTo',
type: "POST",
dataType: 'json',
source: [ <?php $sql = $pdo->query("SELECT * FROM login ORDER BY name");
while ($option = $sql->fetch()) {
$result[]=array('value' => $option['code'], 'text' => $option['name']);} echo json_encode($result);
?>
]});

正如magnus eriksson在comment check for real souce result coulbe中所建议的那样,pho的结果周围的[]是alreay adde by json\u encode还记得在php中使用$result[]而不是result[]
6ie5vjzr

6ie5vjzr4#

键值数组的语法错误:

while ($option = $sql->fetch()) {
  $result[]= array('value'=> $option['code'], 'text'=> $option['name']);
}

我的建议:
重新组织代码,不要混合使用php和javascript。从php开始,稍后再打印数据。

<?php  
    $sql = $pdo->query("SELECT * FROM login ORDER BY name");
    $result = array();
    while ($option = $sql->fetch()) {
        $result[]=array('value' => $option['code'], 'text' => $option['name']);
    }             
?>

$('#employee_data_leadstoassign').editable({
    container: 'body',
    selector: 'td.assignedTo',
    url: "gmupdate.php",
    title: 'assignedTo',
    type: "POST",
    dataType: 'json',
    source: <?php echo json_encode($result);?>
});

相关问题