gpt4 book ai didi

javascript - 如何将数据库中的数据添加到php中的对象中以供加载时临时使用

转载 作者:行者123 更新时间:2023-11-29 17:57:47 27 4
gpt4 key购买 nike

我是 php 新手。我有以下代码可以从数据库检索类别类型数据?我想将它们添加到 php 对象中以便在加载页面时临时使用。首先,我想加载所有预定义的数据,然后当我单击功能时我将使用它。你能告诉我如何创建它

categoryDao.php

namespace category;

use Exception;
use PDO;

class categoryDao{

public function categorytype(PDO $connection){

$conn = $connection;
try {

$conn = $connection;

$sql="SELECT * FROM `tb_category` WHERE id != parent_id;";
$categorytype = $conn->prepare($sql);
$categorytype->execute();
$data1 = array();
while (
$result = $categorytype->fetch(PDO::FETCH_ASSOC)) {
$data1[] = $result['id'];
$data1[] = $result['c_name'];
}

return $data1;

} catch (Exception $e) {
echo $e;
throw $e;
}
}
}

类别服务.php

use category\categoryDao;

require '../dao/categoryDao.php';
require 'Dao.php';

class categoryService{
public function categorytype(){

$dao = new Dao();
$conn= $dao->connect();
$conn->beginTransaction();
$categoryDao = new categoryDao();
//$data1 = array();
$data1=$categoryDao->categorytype($conn);

return $data1;
$dao->disconnect($conn);
}
}

类别类型 Controller .php

 <?php 





require '../service/categoryService.php';


require '../service/categoryService.php';


$categoryname = @trim(stripslashes($_POST['category']));
$category = new categoryService();
//$ctype = array();
$ctype = $category->categorytype();

$return["json"] = json_encode($ctype);

echo $return["json"];

Head.php

function categorytype() {
//var hosname =window.location.protocol + "//" + window.location.hostname + window.location.pathname;
var hosname1 = window.location.protocol + "//" + window.location.hostname+ "/servicegateway/sgw/modules/controller/categorytypecontroller.php";
alert (hosname1);
//var ur = hosname + "/modules/controller/categorycontroller.php";

$.ajax({
url:hosname1 , //the page containing php script
type: "POST", //request type,
dataType: 'json',
data: '',
success:function(data1){
alert(data1);
var obj =data1;
// var leng = Object.keys(obj).length;


var areaOption = "<option value=''>Select Category </option>";
for (var i = 0; i < obj.length; i++) {
areaOption += '<option value="' + obj[i] + '">' + obj[i] + '</option>'
}
$("#c_type").html(areaOption);
}
});
}

最佳答案

有几件事。如果您希望数据是记录数组,您可能需要更改这部分:

while ($result =  $categorytype->fetch(PDO::FETCH_ASSOC)) {
$data1[] = $result['id'];
$data1[] = $result['c_name'];
}

因为这会将所有字段一个接一个地放入一个普通数组中。

while ($result =  $categorytype->fetch(PDO::FETCH_ASSOC)) {
$data1[] = array(
'id' => $result['id'],
'c_name' => $result['c_name']
);
}

这将创建一个包含 id 和 name 字段的小型关联数组,并将其与其他记录一起放入另一个数组中。通过 ajax 发送时,PHP 关联数组将转换为 Javascript 对象。

然后,在 Javascript 中,您将需要使用这些对象来创建选项,因此:

areaOption += '<option value="' + obj[i].id + '">' + obj[i].c_name + '</option>'

关于javascript - 如何将数据库中的数据添加到php中的对象中以供加载时临时使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48656598/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com