- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
编辑:我尝试按照说明进行操作,显然每次执行查询时都会添加一个新数组,但是,当我生成 JSON 文件时,第二个数组包含第一个数组的值和第二个数组的值.这有什么问题吗?
这是我的问题:我必须解决两个问题:
1) 我必须使用 PHP 创建一个包含一系列连续数组的 JSON 文件,如以下示例所示:
{
"data": {
"cliente": [
{
"id": "Sentra",
"nome": 4,
"cognome": "Sentra",
"indirizzo": 4,
"email": "Sentra",
"tipo_contatto": 4,
"telefono_1": "Sentra",
"telefono_2": 4,
"telefono_3": "Sentra"
}
],
"accettazione": [
{
"id": "Sentra",
"nome": 4,
"cognome": "Sentra",
"indirizzo": 4,
"email": "Sentra",
"tipo_contatto": 4,
"telefono_1": "Sentra",
"telefono_2": 4,
"telefono_3": "Sentra"
},
{
"id": "Taurus",
"data": 4,
"id_operatore": "Taurus",
"dispositivo": 4,
"note": "Taurus",
"password": 4,
"tipo_avviso": "Taurus",
"id_cliente": 4,
"difetto_dichiarato": "Taurus",
"codice": 4
}
]
}
}
这里我有两个数组,但我需要加载它们,无论如何,在我的 PHP 页面中,这是我所拥有的:
<?php
session_start();
include_once('UniversalConnect.php');
class Login
{
private $hookUp;
private $sql;
private $sql2;
private $sql3;
private $sql4;
public function __construct()
{
$this->hookUp = UniversalConnect::doConnect();
$this->sql = "SELECT * FROM cliente";
$this->sql2 = "SELECT * FROM accettazione";
$this->sql3 = "SELECT * FROM riparazione";
$this->sql4 = "SELECT * FROM operatore";
// Tabella cliente
$response = array();
$data = array();
if ($result = $this->hookUp->query($this->sql)) {
while ($row = mysqli_fetch_array($result, MYSQLI_BOTH)) {
echo "<tr>";
echo "<td>" . $row['id'] . "</td>";
echo "<td>" . $row['nome'] . "</td>";
echo "<td>" . $row['cognome'] . "</td>";
echo "<td>" . $row['indirizzo'] . "</td>";
echo "<td>" . $row['email'] . "</td>";
echo "<td>" . $row['tipo_contatto'] . "</td>";
echo "<td>" . $row['telefono_1'] . "</td>";
echo "<td>" . $row['telefono_2'] . "</td>";
echo "<td>" . $row['telefono_3'] . "</td>";
echo "</tr>";
$data[] = array("id" => $row['id'], "nome" => $row['nome'], "cognome" => $row['cognome'], "indirizzo" => $row['indirizzo'], "email" => $row['email'], "tipo_contatto" => $row['tipo_contatto'],
"telefono_1" => $row['telefono_1'], "telefono_2" => $row['telefono_2'], "telefono_3" => $row['telefono_3']);
$response['cliente'] = $data;
$fp = fopen("cliente.json", "w");
fwrite($fp,json_encode($response));
fclose($fp);
}
}
// Tabella accettazione
if ($rs = $this->hookUp->query($this->sql2)) {
while ($rw = mysqli_fetch_array($rs, MYSQLI_BOTH)) {
echo "<tr>";
echo "<td>" . $rw['id'] . "</td>";
echo "<td>" . $rw['data'] . "</td>";
echo "<td>" . $rw['id_operatore'] . "</td>";
echo "<td>" . $rw['dispositivo'] . "</td>";
echo "<td>" . $rw['note'] . "</td>";
echo "<td>" . $rw['password'] . "</td>";
echo "<td>" . $rw['tipo_avviso'] . "</td>";
echo "<td>" . $rw['id_cliente'] . "</td>";
echo "<td>" . $rw['difetto_dichiarato'] . "</td>";
echo "<td>" . $rw['codice'] . "</td>";
echo "</tr>";
$data[] = array("id" => $rw['id'], "data" => $rw['data'], "id_operatore" => $rw['id_operatore'], "dispositivo" => $rw['dispositivo'], "note" => $rw['note'], "password" => $rw['password'],
"tipo_avviso" => $rw['tipo_avviso'], "id_cliente" => $rw['id_cliente'], "difetto_dichiarato" => $rw['difetto_dichiarato'], "codice" => $rw['codice']);
$response['accettazione'] = $data;
$file = file_get_contents("cliente.json");
$data = json_decode($file);
unset($file);
file_put_contents("cliente.json", json_encode($data));
unset($data);
$fp = fopen("cliente.json", "w");
fwrite($fp,json_encode($response));
fclose($fp);
}
}
}
}
$worker = new Login();
?>
该文件执行四个查询。在第一个中,我创建了 json 文件,第一个查询创建了第一个数组,然后用第二个查询创建了第二个,第二个“accettazione”必须成为第二个数组,在第一个数组上用逗号分隔,等等……
不幸的是,当执行第二个查询时,第二个数组变成了第一个数组,它并没有成为第一个之后的第二个。我知道如何将新对象推送到现有数组,但情况并非如此。
2) 第二个问题是关于如何在我的页面中生成这些数据:
在下面的代码中,当我点击“a”标签时,“链接”代码段(我没有在这里附加它,但它是一个 html div),显示代码(它是一个空表),它必须承载 JSON 数据。从示例中可以看出,tmp_div 是一种指示内容(div 0、div 1、div 2、div3)的数组。
我的想法是,当我点击 tmp_div 0 时,必须显示 json.data.cliente,其他的也一样,但我想以动态方式进行,而不是每次都指定不同的情况。我必须如何编辑代码才能达到目标?
<!--Funzione di selezione della voce del menu e dell'apparizione dei relativi dati-->
<script type="text/javascript">
$('.sidebar-menu a').click(function (e) {
hideContentDivs();
var tmp_div = $(this).parent().index();
$(".main-sections div").eq(tmp_div).show();
$.getJSON("lista.json", function(json){
if (tmp_div == 0) {
var data = json.data.cliente;
for (var i = 0; i < data.length; i++) {
var object = data[i];
for (property in object) {
var value = object[property];
console.log(property + "=" + value);
}
}
} else if (tmp_div == 1) {
var data = json.data.accettazione;
for (var i = 0; i < data.length; i++) {
var object = data[i];
for (property in object) {
var value = object[property];
console.log(property + "=" + value);
}
}
} else if (tmp_div == 2) {
var data = json.data.riparazione;
for (var i = 0; i < data.length; i++) {
var object = data[i];
for (property in object) {
var value = object[property];
console.log(property + "=" + value);
}
}
} else if (tmp_div == 3) {
var data = json.data.operatore;
for (var i = 0; i < data.length; i++) {
var object = data[i];
for (property in object) {
var value = object[property];
console.log(property + "=" + value);
}
}
}
});
});
function hideContentDivs() {
$(".main-sections div").each(function () {
$(this).hide();
});
}
hideContentDivs();
</script>
最佳答案
回答您的第一个问题:
Unfortunately, when the second query is executed, the second array becomes the first array, it doesn't become the second after the first one. I know how to push new objects to an existing array, but that's not the situation.
现在您正在循环中调用 $data = array()
。您将在循环的每次迭代中覆盖现有数组。因此,$data[] = ...
将始终推送到元素 0,因为它推送到一个空数组。
此外,您正在这样做:$response['cliente'] = $data;
这意味着您将始终使用任何 $ 重写
是。这不是将新对象插入现有数组;你总是在覆盖你的数组。$response
数据
回答你的第二个问题:
这最终更像是一个设计问题。你有很多可能的答案。您现在可以做的一件非常快速的事情可能是创建一个函数,但这只是向前迈出的一小步。您可能在Code Review中有更好的建议相反。
关于javascript - 添加几个 json 数组并根据菜单元素点击过滤它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31458523/
我创建了一个用户可以添加测试的字段。这一切运行顺利我只希望当用户点击(添加另一个测试)然后上一个(添加另一个测试)删除并且这个显示在新字段中。 所有运行良好的唯一问题是点击(添加另一个字段)之前添加另
String[] option = {"Adlawan", "Angeles", "Arreza", "Benenoso", "Bermas", "Brebant
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在努力将 jQuery 滚动功能添加到 nav-tab (Bootstrap 3)。我希望用户能够选择他们想要的选项卡,并在选项卡内容中有一个可以平滑滚动到 anchor 的链接。这是我的代码,可
我正在尝试在用户登录后再添加 2 个 ui 选项卡。首先,我尝试做一个之后。 $('#slideshow').tabs('remove', '4'); $("#slideshow ul li:last
我有一个包含选择元素的表单,我想通过选择添加和删除其中一些元素。这是html代码(这里也有jsfiddle http://jsfiddle.net/txhajy2w/):
正在写这个: view.backgroundColor = UIColor.white.withAlphaComponent(0.9) 等同于: view.backgroundColor = UICo
好的,如果其中有任何信息,我想将这些列添加到一起。所以说我有 账户 1 2 3 . 有 4 个帐户空间,但只有 3 个帐户。我如何创建 java 脚本来添加它。 最佳答案 Live Example H
我想知道是否有一种有效的预制算法来确定一组数字的和/差是否可以等于不同的数字。示例: 5、8、10、2,使用 + 或 - 等于 9。5 - 8 = -3 + 10 = 7 + 2 = 9 如果有一个预
我似乎有一个卡住的 git repo。它卡在所有基本的添加、提交命令上,git push 返回所有内容为最新的。 从其他帖子我已经完成了 git gc 和 git fsck/ 我认为基本的调试步骤是
我的 Oracle SQL 查询如下- Q1- select hca.account_number, hca.attribute3, SUM(rcl.extended_amou
我正在阅读 http://developer.apple.com/iphone/library/documentation/iPhone/Conceptual/iPhoneOSProgrammingG
我正在尝试添加一个“加载更多”按钮并限制下面的结果,这样投资组合页面中就不会同时加载 1000 个内容,如下所示:http://typesetdesign.com/portfolio/ 我对 PHP
我遇到这个问题,我添加了 8 个文本框,它工作正常,但是当我添加更多文本框(如 16 个文本框)时,它不会添加最后一个文本框。有人遇到过这个问题吗?提前致谢。 Live Link: JAVASCRIP
add/remove clone first row default not delete 添加/删除克隆第一行默认不删除&并获取正确的SrNo(例如:添加3行并在看到问题后删除SrNo.2)
我编码this ,但删除按钮不起作用。我在控制台中没有任何错误.. var counter = 0; var dataList = document.getElementById('materi
我有一个类似数组的对象: [1:数组[10]、2:数组[2]、3:数组[2]、4:数组[2]、5:数组[3]、6:数组[1]] 我正在尝试删除前两个元素,执行一些操作,然后将它们再次插入到同一位置。
使用的 Delphi 版本:2007 你好, 我有一个 Tecord 数组 TInfo = Record Name : String; Price : Integer; end; var Info
我使用了基本的 gridster 代码,然后我声明了通过按钮添加和删除小部件的函数它工作正常但是当我将调整大小功能添加到上面的代码中时,它都不起作用(我的意思是调整大小,添加和删除小部件) 我的js代
title 323 323 323 title 323 323 323 title 323 323 323 JS $(document).keydown(function(e){
我是一名优秀的程序员,十分优秀!