Pesquisar na Comunidade
Mostrando resultados para as tags ''JSON''.
Encontrado 25 registros
-
Estou em um impasse pois sei pouco de javascript. Estou fazendo um autocomplete com CI4 e Javascript. Consigo gerar, através do controllers/model do CI4 um arquivo em json, mas não consigo retorná-lo para o javascript para poder mostrar as opções para consulta. O console.log mostra que estou obtendo o json() { [native code] }. Segue os dois arquivos para ver se alguém me ajuda. //arquivo cidade.js async function carregar_cidade(valor) { if (valor.length >= 3) { //console.log("Pesquisar:" + valor); const dados = fetch('Testes/?cidade='+valor, { method: "get", headers: { "Content-Type": "application/json", "X-Requested-With": "XMLHttpRequest" } }); const resposta = (await dados).json; console.log(resposta); var html = "<ul class='list-group position-fixed'>"; html += "<li class='list-group-item'>" + resposta['cid_nome'] + "</li>"; html += "</ul>"; } } <?php //arquivo Testes.php namespace App\Controllers; use App\Models\CidadeModel; /** NÃO MANDAR PARA O SERVIDOR - APENAS TESTES DE FUNÇÕES E OUTROS ELEMENTOS DO CI4 */ class Testes extends BaseController{ protected $tbCidades; public function __construct(){ $this->tbCidades = new CidadeModel(); } public function index(){ $request = \Config\Services::request(); $client = \Config\Services::curlrequest(); $cidades=[]; if($get=$request->getGet()){ $cities=$get['cidade']; $cidadeFiltrada=$this->tbCidades->getCidByName($cities); $cidades= json_encode($cidadeFiltrada); //dd($cidades); } echo view('Testes/testes'); } public function salvar(){ $request = \Config\Services::request(); if($post=$request->getPost()){ dd($post); } } } <!doctype html> <html lang="pt-br"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <!-- Bootstrap CSS --> <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <title>Autocomplete</title> </head> <body> <div class="container"> <h1 class="mt-4 mb-4">Formulário</h1> <form class="row g-3"> <div class="col-12"> <label for="cidade" class="form-label">Cidade</label> <input type="text" name="cidade" class="form-control" id="cidade" placeholder="Pesquisar cidade" onkeyup="carregar_cidade(this.value)"> </div> <span ></span> </form> </div> <!-- Optional JavaScript; choose one of the two! --> <!-- Option 1: Bootstrap Bundle with Popper --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p" crossorigin="anonymous"></script> <script src="assets/js/cidade.js"></script> </body> </html>
-
- autocomplete
- json
-
(e mais 1 )
Tags:
-
Olá pessoal. Eu já utilizo o FOR JSON PATH para retornar o o resultado de uma consulta com JSON. Isso eu já sei fazer. O que preciso é criar uma função que receba um SELECT como parâmetro e retorne o resultado desse SELECT já formatado como JSON. Estou tentando isso, mas sem sucesso. A function dbo.fn_retornaJsonPath : (@String NVARCHAR(MAX)) RETURNS NVARCHAR(MAX) AS BEGIN BEGIN IF @String <> NULL SET @String = (SELECT @String AS jsonPath FOR JSON PATH) END BEGIN IF @String IS NULL SET @String = '[]' END RETURN @String END Forma de executar: SET @sql = 'SELECT ' SET @sql = @sql + ' dbo.fn_retornaJsonPath ((SELECT TT.tema FROM dbo.tabela AS TT WHERE TT.cd = CTT.id)) AS ''temas'' ' SET @sql = @sql + ' FROM dbo.minhaTab AS CTT ' EXEC(@sql) Mas não está rolando....
-
Tenho uma tabela evento com campo participantes tipo Json, valores nela são armazenados desta forma [1,2,44] Sendo eles códigos de usuários. Em uma select gostaria de consultar o evento e retornar os nomes dos participantes, porém consultando em uma tabela usuário. Pensei em fazer inner, depois criei uma subselect fazendo consulta com IN mas só encontra o primeiro usuário
-
Olá pessoal, gostaria de saber como copiar o conteúdo de um campo json com muitos pais e filhos e colar em outro campo de pais e filhos do mesmo arquivo json? agradeço a ajuda de vocês. em anexo o arquivo json e o codigo que estou tentando fazer
-
Olá a todos! Tenho uma api Sala de Aula e dentro dela o id de cada aluno. Em outra api, API ALUNO, tenho os dados de cada aluno: nome, foto, endereço. Estou fazendo o foreach da api Sala de Aula e preciso também retornar os dados de cada aluno. Segue o código que não estou conseguindo desenvolver $sala = file_get_contents("https://api/sala?id=987"); $sala = json_decode($sala, true); $sala = $sala['data']; foreach ($sala as $resulsala){ $codigoaluno = $resulsala['idaluno']; $alunos = file_get_contents("https://api/alunos?id=$codigoaluno"); $alunos = json_decode($alunos, true); $alunos = $alunos['data']; foreach ($alunos as $resulalunos){ echo $resulalunos['nome']; echo $resulalunos['foto']; echo $resulalunos['rua']; } }
-
Função genérica para atualizar chave em JSON duplicada usando o PHP
kania postou um tópico no fórum PHP
Tenho a seguinte situação. Recebo vários JSONs podendo ou não ser multidimensional, preciso atualizar uma determinada chave deste JSON, o problema é que algumas chaves podem ser duplicadas, bem como seus respectivos valores. Como estou tentando criar uma função genérica para navegar em qualquer JSON e modificar a chave em si, com estas duplicidades de chaves, estou tendo dificuldades em dizer ao código qual é chave que devo alterar. Arquivo JSON Exemplo { "CREDITOR": { "TAX": { "TAC": 0.7 }, "ENABLE": "true", "PRODUCTION": { "email": "email@dominio.com", "senha": "12457895", "BASE_URL": "https://domino.com" }, "HOMOLOGATION": { "email": "email@dominio.com", "senha": "12457895", "BASE_URL": "https://domino.com" }, "TARGET_VALUES": 5000000 } } Converto o JSON para array $json = json_decode($json_string, true); Função que criei até aqui /** * Encontra a chave correspondente dentro do JSON * * @param array $jsonArray - JSON a ser verificado * @param string $keyFather - chave de entrada * @param string $keyUpdate - chave que modificar * @param string $valueUpdate - novo valor da chave * @return string * */ public static function searchKeyJson(array $jsonArray, string $keyFather, string $keyUpdate = null, $valueUpdate = null) { foreach ($jsonArray as $key => $value) { if ($key == $keyFather && $keyUpdate == null) { $jsonArray[$key] = $valueUpdate; return $jsonArray; } if ($key == $keyFather && $keyUpdate != null) { $jsonArray[$keyFather][$keyUpdate] = $valueUpdate; return $jsonArray; } if (is_array($value)) { if (($result = self::searchKeyJson($value, $keyFather, $keyUpdate, $valueUpdate)) !== false) { if ($keyUpdate == null) { return $result; } else { return $result; } } } } return false; } Até modifico o valor, mais no final para salvar, ele não monta o JSON como original, ele caba ignorando a chave inicial no JSON de exmeplo "CREDITOR": {} Retorno da função (notem que esta forma do padrão da original) => [ "TAX" => [ "TAC" => 0.7, ], "ENABLE" => "true", "PRODUCTION" => [ "email" => "teste", "senha" => "12457895", "BASE_URL" => "https://domino.com", ], "HOMOLOGATION" => [ "email" => "email@dominio.com", "senha" => "12457895", "BASE_URL" => "https://domino.com", ], "TARGET_VALUES" => 5000000, ] Se eu percorrer o array e tentar modificar a chave em questão, ele muda todas as as chaves que tiverem no JSON porque tem duplicidade. Como posso resolver isto com uma função global que sirva para qualquer padrão de JSON que eu tiver? -
Ola pessoal estou com uma dificuldade ou melhor com erro ao fazer a leitura do arquivo por ajax Pelo meus calculos esta certo a forma que fiz, porem nao me mostra o resultado Espero que possam dar uma ideia do que seria e de como resolver este é o erro que retorna <br /> <b>Notice</b>: Undefined index: length in <b>C:\Host\htdocs\CMS-DELIVERY\CPANELUSER\ajax-list.php</b> on line <b>31</b><br /> <br /> <b>Notice</b>: Undefined index: start in <b>C:\Host\htdocs\CMS-DELIVERY\CPANELUSER\ajax-list.php</b> on line <b>32</b><br /> <br /> <b>Notice</b>: Undefined index: length in <b>C:\Host\htdocs\CMS-DELIVERY\CPANELUSER\ajax-list.php</b> on line <b>32</b><br /> You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '' at line 1 No arquivo php esta assim <?php session_start(); header('Content-Type: application/json'); require('./database/config.php'); require('./database/config.database.php'); require_once('./includes/funcoes.php'); //require('ssp.class.php'); $Campos = "'DL.id, DL.titulo, DL.telefone, DC.titulo as CityTitulo'"; $column = array("DL.id", "DL.titulo", "DC.titulo", "DL.destaque"); $queryIJ = 'directory_listing DL inner join directory_cidades DC on(DL.cidade = DC.titulo)'; $query = "WHERE DC.status=1 AND DL.status=1 "; if (isset($_POST["is_category"])) { $query = "DL.cidade = '" . $_POST["is_category"] . "' AND "; } if (isset($_POST["search"]["value"])) { $query = '(DL.id LIKE "%' . $_POST["search"]["value"] . '%" OR DL.titulo LIKE "%' . $_POST["search"]["value"] . '%" OR DL.telefone LIKE "%' . $_POST["search"]["value"] . '%") '; } if (isset($_POST["order"])) { $query = 'ORDER BY ' . $column[$_POST['order']['0']['column']] . ' ' . $_POST['order']['0']['dir'] . ' '; } else { $query = 'ORDER BY DL.id DESC '; } $query1 = ''; if ($_POST["length"] != 1) { $query1 = 'LIMIT ' . $_POST["start"]. ', ' . $_POST["length"]; } define('QUERYIJ', $queryIJ); define('CAMPOS', $Campos); define('QUERY', $query); define('QUERY1', $query1); $number_filter_row = DBCount(QUERYIJ,CAMPOS,QUERY); function ListarDirectoryEmpresaCidade($Q1 = QUERYIJ, $Camp = CAMPOS, $Query2 = QUERY, $Query3 = QUERY1) { $QueryInnerJoin = DBRead($Q1,$Camp, $Query2 .$Query3); return groupByEmpresaByCidade($QueryInnerJoin,'CityTitulo'); } function groupByEmpresaByCidade($array, $key) { $return = array(); foreach($array as $val) { $return[$val[$key]][] = $val; } return $return; } $data = array(); $ListarDirectoryEmpresa = ListarDirectoryEmpresaCidade(); foreach ($ListarDirectoryEmpresa as $ListarCidade) { //$ListarCidade[0]['CityTitulo'] foreach ($ListarCidade as $ListarDirectory) { //$ListarDirectory['titulo'] $sub_array = array(); $sub_array[] = $ListarDirectory["id"]; $sub_array[] = $ListarDirectory["titulo"]; $sub_array[] = $ListarCidade[0]['CityTitulo']; $sub_array[] = $ListarDirectory["telefone"]; $data[] = $sub_array; } } $result = DBCount('directory_listing','*'); $output = array( "draw" => intval($_POST["draw"]), "recordsTotal" => $result, "recordsFiltered" => $number_filter_row, "data" => $data ); echo json_encode($output); ?> Ja no html esta assim <div class="table-responsive"> <table id="list_data" class="table table-bordered table-striped"> <thead> <tr> <th>Id.</th> <th>Titulo</th> <th> <select name="directory_cidades" id="directory_cidades" class="form-control"> <option value="">Buscar Cidade</option> <?php $Query = DBRead('directory_cidades','*',"ORDER BY titulo ASC"); foreach($Query as $rows) { echo '<option value="' . $rows["titulo"] . '">' . $rows["titulo"] . '</option>'; } ?> </select> </th> <th>Telefone</th> </tr> </thead> </table> </div> No javascript esta assim <script type="text/javascript" language="javascript"> $(document).ready(function() { load_data(); function load_data(is_category) { var dataTable = $('#list_data').DataTable({ "processing": true, "serverSide": true, "order": [], "ajax": { url: "ajax-list.php", type: "POST", data: { is_category: is_category } }, "columnDefs": [{ "targets": [2], "orderable": false, }, ], }); } $(document).on('change', '#directory_cidades', function() { var directory_cidades = $(this).val(); $('#list_data').DataTable().destroy(); if (directory_cidades != '') { load_data(directory_cidades); } else { load_data(); } }); }); </script> Sei que o problema não esta no html e nem no javacript postei eles para melhor entender
-
Tenhos duas tabelas Cab e Itm, gostaria de listar s sequencia de cab e inserir em um array os itens pertencentes a elas, compo incomum idcab. Não consigo fazer, o array será para json
-
<?php function doPut($url, $fields) { $fields = (is_array($fields)) ? http_build_query($fields) : $fields; if ($ch = curl_init($url)) { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($fields))); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_exec($ch); //$resp = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return (int) $status; } else { return false; } } session_start(); $s_chave = $_POST['edtChave']; $_SESSION['s_chave'] = $s_chave; $edtChave = $_POST['edtChave']; $edtCultura = $_POST['edtCultura']; $edtPraga = $_POST['edtPraga']; $edtDose = $_POST['edtDose']; $edtEspecificacao = $_POST['edtEspecificacao']; $edtAplicaTerrestre = $_POST['edtAplicaTerrestre']; $edtAplicarea = $_POST['edtAplicarea']; $edtIntseg = $_POST['edtIntseg']; $edtIntEntrada = $_POST['edtIntEntrada']; $edtDadosGerais = $_POST['edtDadosGerais']; $url = "www.api.site.com"; echo 'Url = ' . $url; echo '<br>'; $data_array2 = array(); for ($i = 0; $i < 5; $i++) { $montagem_array = array( 'cultura' => $_POST['edtCultura'], 'praga' => $_POST['edtPraga'], 'dose' => $_POST['edtDose'], 'especificacao' => $_POST['edtEspecificacao'], 'aplicaterrestre' => $_POST['edtAplicaTerrestre'], 'aplicaerea' => $_POST['edtAplicarea'], 'intseg' => $_POST['edtIntseg'], 'intentrada' => $_POST['edtIntEntrada'], 'dadosgerais' => $_POST['edtDadosGerais'], ); $data_array2[$i] = $montagem_array; } //$json = json_encode($data_array2); echo '<br>'; echo 'Array convertido para formato json: ' . json_encode($data_array2); echo '<br>'; //$data = $array_para_string; //echo $data.'+cultura=asdf&praga=asdf&dose=dasf&especificacao=sadf&aplicaterrestre=sadf&aplicaerea=asdf&intseg=2&intentrada=1&dadosgerais=sdaf'; $header = array( 'Authorization: falkdsjçlaskf' ); //Nova tentativa 07/01/2022 if (doPut($url, $data_array2) == 200) { echo 'Passou!'; echo '<br>'; echo json_encode($data_array2); echo '<br>'; } // do something else { echo 'Não deu certo'; echo '<br>'; echo json_encode($data_array2); echo '<br>'; } //Nova tentativa //header('location:jsonpostprodutobula_teste.php');
-
<?php function doPut($url, $fields) { $fields = (is_array($fields)) ? http_build_query($fields) : $fields; if ($ch = curl_init($url)) { curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT'); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Length: ' . strlen($fields))); curl_setopt($ch, CURLOPT_POSTFIELDS, $fields); curl_exec($ch); //$resp = curl_exec($ch); $status = curl_getinfo($ch, CURLINFO_HTTP_CODE); curl_close($ch); return (int) $status; } else { return false; } } session_start(); $s_chave = $_POST['edtChave']; $_SESSION['s_chave'] = $s_chave; $edtChave = $_POST['edtChave']; $edtCultura = $_POST['edtCultura']; $edtPraga = $_POST['edtPraga']; $edtDose = $_POST['edtDose']; $edtEspecificacao = $_POST['edtEspecificacao']; $edtAplicaTerrestre = $_POST['edtAplicaTerrestre']; $edtAplicarea = $_POST['edtAplicarea']; $edtIntseg = $_POST['edtIntseg']; $edtIntEntrada = $_POST['edtIntEntrada']; $edtDadosGerais = $_POST['edtDadosGerais']; $url = "www.api.site.com"; echo 'Url = ' . $url; echo '<br>'; $data_array2 = array(); for ($i = 0; $i < 5; $i++) { $montagem_array = array( 'cultura' => $_POST['edtCultura'], 'praga' => $_POST['edtPraga'], 'dose' => $_POST['edtDose'], 'especificacao' => $_POST['edtEspecificacao'], 'aplicaterrestre' => $_POST['edtAplicaTerrestre'], 'aplicaerea' => $_POST['edtAplicarea'], 'intseg' => $_POST['edtIntseg'], 'intentrada' => $_POST['edtIntEntrada'], 'dadosgerais' => $_POST['edtDadosGerais'], ); $data_array2[$i] = $montagem_array; } //$json = json_encode($data_array2); echo '<br>'; echo 'Array convertido para formato json: ' . json_encode($data_array2); echo '<br>'; //$data = $array_para_string; //echo $data.'+cultura=asdf&praga=asdf&dose=dasf&especificacao=sadf&aplicaterrestre=sadf&aplicaerea=asdf&intseg=2&intentrada=1&dadosgerais=sdaf'; $header = array( 'Authorization: falkdsjçlaskf' ); //Nova tentativa 07/01/2022 if (doPut($url, $data_array2) == 200) { echo 'Passou!'; echo '<br>'; echo json_encode($data_array2); echo '<br>'; } // do something else { echo 'Não deu certo'; echo '<br>'; echo json_encode($data_array2); echo '<br>'; } //Nova tentativa //header('location:jsonpostprodutobula_teste.php');
-
Retornar média de um valor json em determinado período de data usando JavaScript
jefersonanunes postou um tópico no fórum Javascript
Bom dia!! Sou novo com programação e tenho muito que aprender ainda, por isso peço por gentileza ajuda para a questão abaixo: Tenho um retorno de uma API do Banco Central em Json onde temos os dados abaixo como exemplo: 0: {cotacaoVenda: 5.3911, dataHoraCotacao: '2021-10-01 13:09:55.606'} 1: {cotacaoVenda: 5.4204, dataHoraCotacao: '2021-10-04 13:04:19.644'} 2: {cotacaoVenda: 5.4611, dataHoraCotacao: '2021-10-05 13:03:21.673'} 3: {cotacaoVenda: 5.5097, dataHoraCotacao: '2021-10-06 13:06:37.922'} 4: {cotacaoVenda: 5.514, dataHoraCotacao: '2021-10-07 13:08:32.904'} 5: {cotacaoVenda: 5.5084, dataHoraCotacao: '2021-10-08 13:09:33.086'} 6: {cotacaoVenda: 5.5161, dataHoraCotacao: '2021-10-11 13:11:50.974'} 7: {cotacaoVenda: 5.5471, dataHoraCotacao: '2021-10-13 13:07:53.148'} 8: {cotacaoVenda: 5.4988, dataHoraCotacao: '2021-10-14 13:08:19.087'} 9: {cotacaoVenda: 5.451, dataHoraCotacao: '2021-10-15 13:09:00.092'} 10: {cotacaoVenda: 5.5193, dataHoraCotacao: '2021-10-18 13:10:12.364'} Queria retornar dentro de uma variavél javascript a média da cotacaoVenda entre a dataHoraCotacao 2021-10-05 e 2021-10-15, sendo uma média simples (Juntar todos os valores cotacaoVenda dentro desse intervalo de data e dividir para formar a média). Desde já agradço!! Espero que tenha me expressado corretamente. Obrigado. -
Pessoal, preciso super de uma ajuda com o seguinte problema, eu preciso transformar com o javascript um JSON dessa forma: { "registros": { "valores": [ { "label": "DANILO KATHSON BILRO DE SOUZA", "data": [ { "realizado": "96.51" }, { "realizado": "94.58" }, { "realizado": "89.99" }, { "realizado": "93.38" } ] }, { "label": "FRANCISCO GEILSON RAMALHO", "data": [ { "realizado": "88.94" }, { "realizado": "95.95" }, { "realizado": "94.20" }, { "realizado": "92.36" } ] } ] } } Para que ele fique dessa forma: { "registros": { "valores": [ { "label": "DANILO KATHSON BILRO DE SOUZA", "data": ["96.51", "94.58", "89.99", "93.38"] ] }, { "label": "FRANCISCO GEILSON RAMALHO", "data": ["88.94", "95.95", "94.20", "92.36" ] } ] } } poderiam me dar um caminho de como eu poderia fazer isso? Desde já, agradeço muito pelo atenção.
-
Olá pessoal! Preciso da ajuda de vocês no seguinte! Tenho um arquivo retornos.json { "retornos": [ { "id": 1, "sigla": "00", "nome": "Efetuado" }, { "id": 2, "sigla": "01", "nome": "Inválido" }, { "id": 3, "sigla": "02", "nome": "Corrompido" } ] } E na minha aplicação feita com CodeIgniter tenho uma consulta que me mostra a sigla que está cadastrada no BD. foreach ($results as $r) { $retorno = $r->codRetorno; } Eu preciso que essa consulta ao me retornar a sigla 02 por exemplo o echo apresente o "nome" para tal "sigla" que esta cadastrada no JSON. No caso seria a seguinte lógica: if ("$retorno" == JSON["sigla"]){ echo JSON["nome"]; } //ESTE NÃO É UM CÓDIGO VÁLIDO, É APENAS PARA FINS DE ENTENDER A LÓGICA DO QUE EU PRECISO. // PS. ESSA LOGICA PRECISA SER APLICADA DENTRO DE UM FOREACH COM MILHARES DE REGISTROS. Como eu posso fazer isso?
- 1 resposta
-
Console Application - Enviar arquivos JSON para uma Conta de Armazenamento Azure (Blob)
ghlevin postou um tópico no fórum .NET
Possuo uma Console Application em C# que faz a extração de dados do Dynamics 365 Customer Voice, da Microsoft. O código abaixo pega dados de tabelas de Projetos, Pesquisas, Perguntas e Respostas respectivamente. Os dados extraídos vão para arquivos JSON que ficam salvos no meu HD. using Microsoft.Xrm.Sdk; using Microsoft.Xrm.Sdk.Query; using System; using System.Collections.Generic; using System.Linq; using System.Text; using UmbracoMVC.App_Code.Infrastructure.CRMIntegration.Business; using System.IO; using Microsoft.Crm.Sdk.Messages; using System.Globalization; using E2BWorkflow.Classes; using System.Web.Management; using System.ServiceModel; using System.Drawing; using System.Web.UI.WebControls; using System.Web.Script.Serialization; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { GetCustomerVoice(); } public static void GetCustomerVoice() { IOrganizationService crmServiceTo; crmServiceTo = Connect.Crm("myemail@e-mail.com", "mypassword", "https://mydynamics.crm4.dynamics.com/XRMServices/2011/Organization.svc"); // Get Projects QueryExpression qP = new QueryExpression("msfp_project"); qP.ColumnSet = new ColumnSet(true); var projects = crmServiceTo.RetrieveMultiple(qP); foreach (var p in projects.Entities) { msfp_project project = p.ToEntity<msfp_project>(); } var projectsList = projects.Entities.Select( s => new { msfp_projectId = s.Attributes["msfp_projectid"], msfp_name = s.Attributes["msfp_name"] } ).ToList(); var jsonSerialiser = new JavaScriptSerializer(); var json = jsonSerialiser.Serialize(projectsList); System.IO.File.WriteAllText(@"C:\MyDirectory\projects.json", json); // Get Surveys QueryExpression qS = new QueryExpression("msfp_survey"); qS.ColumnSet = new ColumnSet(true); var surveys = crmServiceTo.RetrieveMultiple(qS); foreach (var s in surveys.Entities) { msfp_survey survey = s.ToEntity<msfp_survey>(); } var surveysList = surveys.Entities.Select( s => new { msfp_surveyId = s.Attributes["msfp_surveyid"], msfp_name = s.Attributes.Contains("msfp_name") ? s.GetAttributeValue<string>("msfp_questiontext") : "", msfp_anonymousurl = s.Attributes.Contains("msfp_anonymousurl") ? s.GetAttributeValue<string>("msfp_anonymousurl") : "", msfp_friendlyname = s.Attributes.Contains("msfp_friendlyname") ? s.GetAttributeValue<string>("msfp_friendlyname") : "", msfp_surveyurl = s.Attributes.Contains("msfp_surveyurl") ? s.GetAttributeValue<string>("msfp_surveyurl") : "", msfp_projectId = s.Attributes.Contains("msfp_project") && s.GetAttributeValue<EntityReference>("msfp_project").Id != null ? s.GetAttributeValue<EntityReference>("msfp_project").Id : Guid.Empty } ).ToList(); jsonSerialiser = new JavaScriptSerializer(); json = jsonSerialiser.Serialize(surveysList); System.IO.File.WriteAllText(@"C:\MyDirectory\surveys.json", json); // Get Questions QueryExpression qQ = new QueryExpression("msfp_question"); qQ.ColumnSet = new ColumnSet(true); var questions = crmServiceTo.RetrieveMultiple(qQ); foreach (var q in questions.Entities) { msfp_question question = q.ToEntity<msfp_question>(); } var questionsList = questions.Entities.Select( s => new { msfp_questionId = s.Attributes["msfp_questionid"], msfp_questionText = s.Attributes.Contains("msfp_questiontext") ? s.GetAttributeValue<string>("msfp_questiontext") : "", msfp_surveyId = s.Attributes.Contains("msfp_survey") && s.GetAttributeValue<EntityReference>("msfp_survey").Id != null ? s.GetAttributeValue<EntityReference>("msfp_survey").Id : Guid.Empty } ).ToList(); jsonSerialiser = new JavaScriptSerializer(); json = jsonSerialiser.Serialize(questionsList); System.IO.File.WriteAllText(@"C:\MyDirectory\questions.json", json); //Get Question Responses QueryExpression qR = new QueryExpression("msfp_questionresponse"); qR.ColumnSet = new ColumnSet(true); var responses = crmServiceTo.RetrieveMultiple(qR); foreach (var r in responses.Entities) { msfp_questionresponse response = r.ToEntity<msfp_questionresponse>(); } var responsesList = responses.Entities.Select( s => new { msfp_questionresponseId = s.Attributes["msfp_questionresponseid"], msfp_questionresponse = s.Attributes["msfp_name"], msfp_questionId = s.GetAttributeValue<EntityReference>("msfp_questionid").Id } ).ToList(); jsonSerialiser = new JavaScriptSerializer(); json = jsonSerialiser.Serialize(responsesList); System.IO.File.WriteAllText(@"C:\MyDirectory\responses.json", json); Console.WriteLine("END"); Console.ReadKey(); } } } Agora o que eu preciso é que esses JSONs sejam salvos dentro de um contêiner de um blob em uma Conta de Armazenamento Azure. Procurei várias soluções na Internet, mas não estou bem certo do que deveria usar em uma Console Application.- 1 resposta
-
Fala pessoal, meu problema é o seguinte: Tento retornar os valores do json_encode via AJAX, só que na hora de armazenar no const ele da erro de: <b>Notice</b>: Undefined variable: videos_pendentes in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> <br /> <b>Notice</b>: Trying to access array offset on value of type null in <b>C:\xampp\htdocs\tcc\monitor.php</b> on line <b>504</b><br /> null); Não sei qual seria a melhor forma de retornar esses dados, alguma sugestão? AJAX: $('#btn-lista-videos-carousel').click(function() { var nome_monitor = $("#nomecomp").val(); $.ajax({ url: 'pesquisar_video_pendente.php', data: {nome_monitor}, dataType: 'json', type: "POST", complete: function(data) { const videos_pendentes = JSON.parse(<?php echo json_encode($videos_pendentes[0]) ?>); let itens = ''; let indicadores = ''; $('#botaobaixar').hide(); $('#tudo_monitor').hide(); $('#carouselExampleIndicators_2').hide(); if (videos_pendentes.length > 0) { videos_pendentes.forEach(function(video, indice) { indicadores += '<li data-target="#carouselExampleIndicators" data-slide-to="' + indice + '" class="' + (indice == 0 ? 'active' : '') + '"></li>' itens += '<div data-link_video="' + video.link_video + '" data-id="' + video.idvideo_monitor + '" data-titulo="' + video.titulo_video + '" data-situacao="' + video.situacao + '" class="carousel-item ' + (indice == 0 ? 'active' : '') + '">'; itens += ' <iframe width="100%" height="350" src="https://www.youtube.com/embed/' + video.link_video + '" frameborder="0" allowfullscreen></iframe>' itens += '</div>'; }); $('#tudo_monitor').show(); $('#carouselExampleIndicators').show(); $('#carousel-indicadores').html(indicadores); $('#carousel-itens').html(itens); } else { alert('Nenhum vídeo pendente'); } } }); }); E o meu PHP, a qual busca os dados no mysql: <?php $monitor = $_POST['nomecomp']; $servidor = 'localhost'; $usuario = 'root'; $senha = 'root'; $banco = 'onteach'; $conexao = mysqli_connect($servidor, $usuario, $senha, $banco); $consulta = "SELECT * FROM video_monitor WHERE video_monitor.monitor = '$monitor' AND video_monitor.pendente = 1 OR video_monitor.pendente = 3"; $resultados = mysqli_query($conexao, $consulta); $videos_pendentes = array(); while ($video = mysqli_fetch_assoc($resultados)) $videos_pendentes[] = $video; mysqli_free_result($resultados); mysqli_close($conexao); $videos_pendentes = json_encode($videos_pendentes); echo json_encode($videos_pendentes); ?>
-
Forma de inserção no accordion em múltiplos itens com AJAX [Problema atualizado]
Matheus B. Siqueira postou um tópico no fórum PHP
Olá, tento fazer uma requisição para atualização de item do accordion no mysql, porém apenas um item é atualizado. O código funciona da seguinte forma: É buscado perguntas referente ao vídeo selecionado no carousel, logo após, o código da Amostra de Código 1, cria os cards dentro do modal. Cada card é referente a uma pergunta diferente registrada no Banco de Dados. Porém, ao tentar atualizar um item do MYSQL, dentro do card, no textarea, o primeiro item (1º pergunta) desse accordion é atualizado, o segundo item (2º pergunta) não é atualizado. Cada pergunta possui um id no MYSQL, bem como, um assunto, uma resposta, uma pergunta... de acordo com a Figura 01. Vale ressaltar que, de acordo com a Amostra de Código 2, é buscado juntamente com o AJAX, todas as perguntas referente ao vídeo selecionado no carousel. Amostra de Código 1: $(document).ready(function() { $(function() { $('#responder_duvidas').click(function() { var codigoVideo2 = $('.carousel-item.active').attr('data-link_video'); var accordion2 = ""; $.post("buscar_duvida_monitor_resp.php", { codigo_video_monitor: codigoVideo2, }, function(data2, status) { if (data2 !== "Fail") { $("#dynamic_accordion #accordion").html(accordion2); // Adiciona essa linha $.each(JSON.parse(data2), function (index2, duvida3) { accordion2 += '<div class="card" style="margin: 5px">'; accordion2 += '<div class="card-header" id="heading'+index2+'">'; accordion2 += '<h5 class="mb-0">'; accordion2 += '<button class="btn btn-link" data-toggle="collapse" data-target="#collapse'+index2+'" aria-expanded="true" aria-controls="collapse'+index2+'">'; accordion2 += duvida3.assunto; accordion2 += '</button>'; accordion2 += '</h5>'; accordion2 += '</div>'; accordion2 += '<div id="collapse'+index2+'" class="collapse" aria-labelledby="heading'+index2+'" data-parent="#accordion">'; accordion2 += '<div class="card-body">'; accordion2 += '<div style="background: #ddd; color #fff; padding: 10px 20px; border-radius: 5px">'; accordion2 += duvida3.pergunta; accordion2 += '</div>'; accordion2 += '<hr>'; accordion2 += '<div style="background: #fff; color #fff; padding: 10px 20px; border-radius: 5px">'; accordion2 += '<form method="post" enctype="multipart/form-data">'; accordion2 += '<textarea class="form-control" name="resposta" id="resposta" required>'+duvida3.resposta+'</textarea>'; accordion2 += '<input type="hidden" id="id_duvidas" value="'+duvida3.idduvidas+'" />'; accordion2 += '<br><button type="button" id="enviar_resposta" class="btn btn-success btn-sm">Enviar resposta</button>'; accordion2 += '</form>'; accordion2 += '</div>'; accordion2 += '</div>'; accordion2 += '</div>'; accordion2 += '</div>'; $("#dynamic_accordion #accordion").html(accordion2); }); } }); }); $(document).on("click", "#enviar_resposta",function(){ $.ajax({ url: "atualizar_resposta.php", method: "POST", data: { resposta: $('#resposta').val(), idduvidas: $('#id_duvidas').val() }, success: function(res) { var data = JSON.parse(res); alert((data.success == true) ? "Pergunta atualizada" : "Pergunta não atualizada"); $('.modal-backdrop').remove(); return; } }); // fecha modal $("#modalDuvidas").modal("hide"); }); }); }); Figura 1: Amostra de Código 2: <?php if (isset($_POST['idduvidas']) && isset($_POST['resposta'])) { $id_resposta = $_POST['idduvidas']; $resposta = $_POST['resposta']; $servidor = 'localhost'; $usuario = 'root'; $senha = 'root'; $banco = 'onteach'; $conexao = mysqli_connect($servidor,$usuario,$senha,$banco); $consulta2 = "UPDATE duvidas SET duvidas.resposta = '$resposta' WHERE duvidas.idduvidas = '$id_resposta'"; die(json_encode(['success'=>(mysqli_query($conexao, $consulta2))])); } Figura 2 (FIGURA COMPLEMENTAR APRESENTANDO O ACCORDION NO WEBSITE) Por fim, este tópico auxilia em um tema que é específico, porém, pode ser utilizado para outros fins de programação, bem como, a utilização de definição de váriantes em accordion com maiores itens. Desde já, agradeço. -
Opa tudo bem? Bom eu estou tentando colocar uma api no meu site só que não faço a minima ideia por onde começar pós eu não sem a linguagem JSON, sou leigo estou começando agora só preciso disso para finalizar meu projeto. Aqui está a API curl —X POST -c cookies.txt —d "login=testaccount&password=testaccountpassword1234" https://www.myadcash.com/console/login_proxy.php Ai depois com o token curl -X POST -b cookies.txt —d "token=TOKEN&call=get_publisher_detailed_statistics&start_date=2018-08-02&end_date=2018-08-015" https://myadcash.com/console/api_proxy.php A pagina aonde eu quero integrar essa API <?php session_start(); require_once 'checklog.php'; require_once 'init.php'; ?> <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> <title>Hello, world!</title> </head> <body> ....... </body> </html>
-
Olá a todos! Abaixo lista minha estrutura em Json. Há grupos que faltam um objeto (TIPO) e ao listar recebo o erro por não encontrá-lo. Existe alguma maneira de verificar se este objeto existe e caso não, ignorar? Desde já agradeço a atenção. ESTUTURA JSON: [ { “titulo”: “JSON”, “data”: “20/10/2020”, “ano”: 2020, “tipo”: novo }, { “titulo”: “HTML”, “data”: “20/10/2020”, “ano”: 2020, “tipo”: usado }, { “titulo”: “PHP”, “data”: “20/10/2020”, “ano”: 2020 } ] CAPTURANDO OS DADOS: $titulo = $decode->titulo; $data = $decode->data; $ano = $decode->ano; $tipo = $decode->tipo;
-
Boa tarde. Gostaria que me ajudassem em uma dúvida, pois estou aprendendo. Tenho um arquivo com o seguinte código. Ex: <?php $dados = '{"nome":"Antonio", "endereco":"Rua que sobe e desce", "telefone": "+55 xx 9 9xxxx-xxxx"}'; $obj = json_decode($dados); echo "Nome: $obj->nome<br>"; echo "Endereço: $obj->endereco<br>"; echo "Telefone: $obj->telefone<br>"; Bom esse retorna: Nome: Antonio Endereço: Rua que sobe e desce Telefone: +55 xx 9 9xxxx-xxxx Agora o problema que enfrento é que eu quero usar um arquivo .json externo, mas não sei o que fazer. ex: nome-do-arquivo.json {"nome":"Antonio", "endereco":"Rua que sobe e desce", "telefone": "+55 xx 9 9xxxx-xxxx"} Como que eu faria para chamar o arquivo com php. Desde já agradeço pela ajuda.
-
Eu peguei esse JSON no site do iFood e estou com dúvida de como converter esses 8 números em Time (HH:mm). Já tentei timestamp mas 8 dígitos é muito pequeno e já tentei ticks. Estou usando C#. "openingHours": [ { "dayOfWeek": "MONDAY", "openingTime": 13500000, "closingTime": 97140000 }, { "dayOfWeek": "TUESDAY", "openingTime": 13500000, "closingTime": 97140000 }, { "dayOfWeek": "WEDNESDAY", "openingTime": 13500000, "closingTime": 97140000 }, { "dayOfWeek": "THURSDAY", "openingTime": 13500000, "closingTime": 97140000 }, { "dayOfWeek": "FRIDAY", "openingTime": 13500000, "closingTime": 97140000 }, { "dayOfWeek": "SATURDAY", "openingTime": 13500000, "closingTime": 97140000 }, { "dayOfWeek": "SUNDAY", "openingTime": 13500000, "closingTime": 97140000 } ] Estou achando que tenho que fazer algum tipo de multiplicação ou em última hipótese, esse valor é algum identificador interno do sistema deles. Tentei converter assim: DateTime dtDateTime = new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc); var openingTime = dtDateTime.AddSeconds(13500000).ToLocalTime(); // {06/06/1970 03:00:00} var closingTime = dtDateTime.AddSeconds(97140000).ToLocalTime(); // {29/01/1973 05:20:00} Mas os valores que retornam não fazem sentido pra mim.
-
Pessoal boa tarde, tenho uma dúvida em relação a um problema que estou enfrentando aqui no php ao codificar, podem me ajudar por favor? É o seguinte, precisava passar dois objetos para o json_encode(), e capturar o atributo "nome" deles num fragmento, porém o callBack passando pelo json_encode está levando só um objeto, observem o print por favor. Obs: Ja iterei pelo foreach, mas mesmo assim está passando só um objeto pelo encode
- 2 respostas
-
Olá pessoal, Estou com uma pequena dúvida em relação a buscar dados em json no MySQL. No meu banco eu tenho uma table com o seguinte campo em json. table - contacts column - groups_id Na coluna groups_id eu armazeno ids de grupos em json por exemplo: ["252","222","666"] Quando eu realizo a seguinte query SELECT * FROM user_contacts WHERE JSON_CONTAINS(group_id, '["252"]') Beleza... Ele me resulta em todos os contatos que possuem o registro 252. O que acontece é que essa table é 1 > N, ou seja, um contato pode fazer parte de vários grupos, sendo assim: quando eu consulto SELECT * FROM user_contacts WHERE JSON_CONTAINS(group_id, '["252","222"]') Ele não me resulta nos contatos que estão com grupo 252 ou 222. Ele me resulta nos contatos que estão com o grupo 252 e 222, ou seja, ele me retorna somente os contatos que o group id tenha ["252","222"] Eu vi que nessa situação eu poderia criar um INDEX na minha tabela usando: ALTER TABLE user_contacts ADD INDEX groups ( (CAST(group_id->'$.groups' AS UNSIGNED ARRAY)) ); Mas o CAST() na versão que Mysqli que eu possuo no servidor 4.6.X me retorna Syntax error. Alguem teria uma sugestão ou luz de qual caminho posso seguir nessa situação sem que seja atualizando a versão do bd?
- 2 respostas
-
- json_search
- json
-
(e mais 1 )
Tags:
-
Pessoal, estou iniciando agora em Wordpress. Mas já me viro bem com HTML, CSS, Javascript, ASP Clássico e SQL Server. Meu primeiro desafio com WP é saber como faço para receber uma string em JSON de outro site. Essa string contém registros de um banco de dados, então precisarei montar uma tabela em HTML para exibir dos dados... Quero saber onde, dentro do WORDPRESS, eu consigo faze isso. É direto no código fonte? Dá pra usar plugin?? Por onde sigo?? Obrigado.
-
SelectPicker: Como abrir o dropdownlist já com opções marcadas utilizado valores de um objeto em json?
michelmir postou um tópico no fórum Javascript
Olá! Tenho um formulário que dentro dele contem uma dropdownlist que utiliza o Bootstrap-Select (selectpicker) e quando clicado o mesmo carrega uma lista de opções provenientes do mysql. Ocorre que esta lista envia as opções marcadas para o mysql corretamente porém eu gostaria que a mesma, no que diz respeito a atualização de dados, carregasse as opções marcadas anteriormente ao ser clicada. Abaixo segue um método do selectpecker que inseri valores de um objeto em JSON e mostra as opções marcadas referente a esses valores: $('.selectpicker').selectpicker('val', [puxar valores de um objeto JSON aqui]); Baseando-se no método acima como faço para inserir valores de um objeto em JSON proveniente de um script php que envia o resultado em formato JSON para o ajax? Abaixo segue um trecho do Ajax que recebe os dados do script php e os mostra em um formulário com campos input e selectpicker. $(document).on('click', '.update', function(){ $.ajax({ url:"fetch_single.php", method:"POST", data:{user_id:user_id}, dataType:"json", success:function(data) { $('#camisas').val(data.camisas); $('.selectpicker').selectpicker('val', [valores de um objeto em JSON aqui]); $('.selectpicker').selectpicker('refresh'); } }) }); E abaixo o resultado em JSON que o AJAX recebe: {"camisa":"15","cores":"5,18,27"} No caso gostaria de que o selectpicker puxasse os valores do objeto "cores" como uma forma de marcar essas opções dentro da lista. É possível? Desde já agradeço a atenção. -
Como formar select option através de um json com multiplos niveis
fsantos postou um tópico no fórum Javascript
tenho o seguinte codigo e queria uma ajuda para fazer a iteração correta no arquivo json <!DOCTYPE html> <html> <head> <title>Mapa</title> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <style> body{margin:0 auto; width:480px; font-family: arial;} input.text, textarea, select { border: 1px solid #C0C0BA; -webkit-box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.17); -moz-box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.17); box-shadow: inset 0px 0px 5px rgba(0, 0, 0, 0.17); } input, textarea, select { -webkit-border-radius: 12px; -moz-border-radius: 12px; border-radius: 12px; } @media only screen and (max-width: 600px) { body { width:90%; } } </style> <script type="text/javascript" src="https://fcosantos.com.br/js/jquery-3.3.1.min.js"></script> <script type="text/javascript"> $(document).ready(function () { $.getJSON('https://fcosantos.com.br/projetos/covidForm/portugal.json', function (data) { var items = []; var options = '<option value="">Escolha o distrito</option>'; $.each(data, function (key, val) { options += '<option value="' + val.nome + '">' + val.nome + '</option>'; }); $("#estados").html(options); $("#estados").change(function () { var options_cidades = ''; var str = ""; $("#estados option:selected").each(function () { str += $(this).text(); }); $.each(data, function (key, val) { if(val.nome == str) { options_cidades += '<option value="">Escolha o conselho</option>'; $.each(val.cidades, function (key_city, val_city) { options_cidades += '<option value="' + val_city.nome + '">' + val_city.nome + '</option>'; }); } }); $("#cidades").html(options_cidades); //Busca das freguesias $("#cidades").change(function () { var options_freguesias = ''; var str2 = ""; $("#cidades option:selected").each(function () { str2 += $(this).text(); }); $.each(data, function (key2, val2) { if(val2.cidades.nome == str2) { options_freguesias += '<option value="">Escolha a freguesia</option>'; $.each(val2.cidades.freguesias, function (key_freg, val_freg) { options_freguesias += '<option value="' + val_freg.nome + '">' + val_freg.nome + '</option>'; }); } }); $("#freguesias").html(options_freguesias); }).change(); }).change(); }); }); </script> </head> <body> <form method="get" action=""> <select name="uf" id="estados" style="width:47%; padding:5px; margin-bottom:8px; float:left;"> <option value=""></option> </select> <select name="cid" id="cidades" style="width:47%; padding:5px; margin-bottom:8px; float:right;"> </select> <select name="freg" id="freguesias" style="width:100%; padding:5px; margin-bottom:8px;"> </select> <input type="submit" value="Buscar" style="width:100%; padding:5px; margin-bottom:20px; "> </form> </body> </html> O que ocorre é que ao selecionar o primeiro select o segundo é preenchido altomaticamente, mais nao entendi porque o segundo não.