$usuarios= "SELECT * FROM usuarios";
$query= mysqli_query($conexao, $usuarios) or die ("Usuário não encontrado");
$usuario = mysqli_fetch_array($query);
Quero pegar apenas o campo 'nome' da tabela 'usuarios' e colocar todos os resultados da seguinte forma:
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>
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....
Existe uma forma de fazer um IF na select e comparar com Array de dados?
algo como
Select
if(
in_array(idCliente,'1,2,3,4,5')=true,'Tem','Não')
) as cliente
Não consigo usar inner ou where pois esse array é algo q tem varias regras...
Precisava saber se existe uma função assim em MySQL
Existe uma forma de fazer um IF na select e comparar com Array de dados?
algo como
Select
if(
in_array(idCliente,'1,2,3,4,5')=true,'Tem','Não')
) as cliente
Não consigo usar inner ou where pois esse resultado do array é algo q tem varias regras...
Precisava saber se existe uma função assim em MySQL
Como faço para dar echo apenas em produtos deste PHP.
Os tokens são provisorios.
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => "https://app.squidfacil.com.br/api/products?page=1",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => array(
"Authorization: Bearer cf674082c2ad47915d15d86373f1258a521e5fc1",
"Cache-Control: no-cache",
"Postman-Token: c4ede18c-737a-41cb-5f40-b69d66a429a8"
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
Compartilhar este post
Link para o post
Compartilhar em outros sites