Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/234.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将MySQL表的名称解析为Json,然后加载到下拉框中_Php_Jquery_Mysql_Json - Fatal编程技术网

Php 将MySQL表的名称解析为Json,然后加载到下拉框中

Php 将MySQL表的名称解析为Json,然后加载到下拉框中,php,jquery,mysql,json,Php,Jquery,Mysql,Json,我想从我的SQL数据库中获取表的名称,并将它们放在一个下拉框中,然后该下拉框将用于在index.html页面上显示所选表中的数据 目前,下拉框中填充的是纯JSON数据,而不是任何看起来正常的数据 以下是我的代码文件: db.php <?php $hostname = "localhost"; $username = "root"; $password = ""; $db = "db_12058661"; ?> mysql.php <?php require("db.p

我想从我的SQL数据库中获取表的名称,并将它们放在一个下拉框中,然后该下拉框将用于在index.html页面上显示所选表中的数据

目前,下拉框中填充的是纯JSON数据,而不是任何看起来正常的数据

以下是我的代码文件:

db.php

<?php
$hostname = "localhost";
$username = "root";
$password = "";
$db = "db_12058661";
?>

mysql.php

<?php 

require("db.php");

$id = $_GET['id'];

if ($id == 1){
$query=new     PDO("mysql:dbname=$db;host=$hostname","$username","$password");
$statement=$query->prepare("SELECT * FROM $id");
$statement->execute();
$results=$statement->fetchAll(PDO::FETCH_ASSOC);
$json=json_encode($results);
}
?>

tables.php

<?php 
require_once("db.php");

$query=new PDO("mysql:dbname=$db;host=$hostname","$username","$password");
$statement=$query->prepare("show tables");
$statement->execute();
$results=$statement->fetchAll(PDO::FETCH_ASSOC);
$json = json_encode($results);

echo ($json);

?>

index.php

<html>
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet">
<script src="//code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<nav class="navbar navbar-inverse">
<div class="container">
<div class="container-fluid">
<div class="navbar-header">
  <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
  </button>
  <a class="navbar-brand">Michael Delahorne 12058661</a>
</div>
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
  <ul class="nav navbar-nav">
  </ul>
</div>
</div>
</nav>
<body>
<div class="row">
<div class="container">
        <div class="col-md-12">
                <select name="options" id="options" class="form-control">
                    <option value="0">Select</option>
                    <option value="1">People</option>
                    <option value="2">Animals</option>
                    <option value="3">Shapes</option>
                </select>
            </div>
            <div id="table">
            </div>
        </div>
    </div>
</div>
</div>
</body>
</html>

<script type="text/javascript">

$(document).ready(function(){
    $("option").load('tables.php');
})
</script>

<script type="text/javascript">
$(document).ready( function() {
    $("#options").change(function() {
    $("#table").load('mysql.php?id=' + $(this).val());
}); })
</script>

<script>
$(document).ready(function(){
    $.getJSON("tables.php", function (data){
        var jsonData
        $.each(data, function(i, menuItems){
            jsonData = '<select>' + jsonData + '</select>';
            $(jsonData).appendTo('#options');
            alert(1);
        }) 
    })
})



</script>

迈克尔·德拉霍恩12058661
挑选 人 动物 形状 $(文档).ready(函数(){ $(“option”).load('tables.php'); }) $(文档).ready(函数(){ $(“#选项”).change(函数(){ $(“#table”).load('mysql.php?id='+$(this.val()); }); }) $(文档).ready(函数(){ $.getJSON(“tables.php”,函数(数据){ var jsonData $.each(数据、函数(i、菜单项){ jsonData=''+jsonData+''; $(jsonData).appendTo('选项'); 警报(1); }) }) })
您很容易受到plus.each()循环的攻击,实际上它并不使用返回的json。您只需不断构建一个嵌套的
,然后将其填充到html中的另一个
。真的吗?我需要改变什么来解决这个问题?我已经从HTML中删除了预配置的,但这并没有改变任何事情。
jsondata=''+menuItems+'
可能?下拉框现在有3个条目,都是[object]。不过,总算有进展了!