Ir para conteúdo

Todas as Novidades

Atualizada automaticamente     

  1. Today
  2. gersonab

    Soma dos dias utilizados

    resolvido $consultad = $pdo->query("SELECT COUNT(DISTINCT datataxa) AS id, idmb FROM mototaxa WHERE datataxa BETWEEN '".$data1."' AND '".$data2."' AND idmb = '".$user."'");
  3. Yesterday
  4. gersonab

    Soma dos dias utilizados

    Boa tarde, preciso saber a quantidade de dias em um cadastro que foram utilizados, guardo estas data no mesmo, porem ao efetuar a pesquisa entre datas, há intervalo entre as mesmas, tipo: dias utilizados - 01 - 02 - 05 - 10 - 15 / 04/2024 podemos observar que foram utilizados 5 dias, o que preciso é q na pesquisa entre 01 a 16 ( por exemplo ) me retorne 5 . a minha pesquisa esta me retornando a diferença entre as datas. $consulta = $pdo->query("SELECT * FROM taxa WHERE datataxa BETWEEN '".$data1."' AND '".$data2."' AND idmb = '".$user."' ORDER BY idtm ASC");
  5. Williams Duarte

    Saber se todos os produtos de uma consulta estão cadastrados no banco de dados

    Para resolver o problema que você descreveu, precisa de uma consulta SQL que selecione os registros da tabela "itens" onde o produto escolhido, como "uva", apareça e todos os outros produtos nesse registro também estejam listados na tabela "produtos". Isso garante que todos os produtos relacionados em cada item estejam validados contra a lista de produtos aceitáveis. Dada a estrutura atual das suas tabelas e considerando que você quer filtrar por um produto específico e garantir que todos os produtos mencionados no registro estejam na tabela "produtos", uma possível abordagem é a seguinte: SELECT i.* FROM itens i WHERE 'uva' IN (i.prod_01, i.prod_02, i.prod_03, i.prod_04) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_01) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_02) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_03) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_04); Nessa consulta: A cláusula WHERE 'uva' IN (i.prod_01, i.prod_02, i.prod_03, i.prod_04) verifica se "uva" está em algum dos campos de produto em um registro da tabela "itens". As cláusulas EXISTS verificam se cada produto listado em um registro específico de "itens" está presente na tabela "produtos". Isso é feito para cada campo de produto (prod_01, prod_02, etc.). Se você estiver usando MySQL ou outro sistema compatível no OneCompiler, o código que forneci deve funcionar conforme abaixo. https://onecompiler.com/mysql/42b35kdf5 -- Criação das tabelas CREATE TABLE produtos ( id INT AUTO_INCREMENT PRIMARY KEY, produto VARCHAR(50) ); CREATE TABLE itens ( id INT AUTO_INCREMENT PRIMARY KEY, prod_01 VARCHAR(50), prod_02 VARCHAR(50), prod_03 VARCHAR(50), prod_04 VARCHAR(50) ); -- Inserção de dados na tabela produtos INSERT INTO produtos (produto) VALUES ('laranja'), ('maçã'), ('uva'), ('goiaba'), ('arroz'), ('feijão'), ('macarrão'), ('azeite'); -- Inserção de dados na tabela itens INSERT INTO itens (prod_01, prod_02, prod_03, prod_04) VALUES ('laranja', 'uva', 'arroz', 'feijão'), ('maçã', 'macarrão', 'goiaba', 'uva'), ('arroz', 'feijão', 'maçã', 'azeite'); -- Consulta para verificar a presença de 'uva' e validar os outros produtos SELECT i.* FROM itens i WHERE 'uva' IN (i.prod_01, i.prod_02, i.prod_03, i.prod_04) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_01) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_02) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_03) AND EXISTS (SELECT 1 FROM produtos p WHERE p.produto = i.prod_04);
  6. Última semana
  7. Williams Duarte

    Ler campos com caracteres especiais no xml

    Para acessar elementos no XML que possuem nomes de tags com dois pontos, como "dc:creator", você precisa lidar com namespaces. No PHP, o SimpleXMLElement tem métodos específicos para manipular namespaces. O namespace pode ser especificado diretamente se você conhece o URI $link = "noticias.xml"; $xml = simplexml_load_file($link); $namespace = $xml->getNamespaces(true); // Pega todos os namespaces do documento foreach ($xml->channel->item as $item) { $titulo = (string)$item->title; $url = (string)$item->link; $creator = (string)$item->children($namespace['dc'])->creator; // Acessa o namespace 'dc' echo "Título: $titulo\n"; echo "URL: $url\n"; echo "Criador: $creator\n"; }
  8. Williams Duarte

    Consulta SQL dentro de outra consulta

    Se você também quer garantir que os produtos listados contenham um item específico, você pode adicionar uma condição extra na cláusula WHERE para filtrar por esse item específico. Teste Online e Ajustado a Query https://onecompiler.com/mysql/42atjfa59 SELECT P.id, P.name, GROUP_CONCAT(I.name ORDER BY I.name) AS items FROM product P JOIN product_item PI ON P.id = PI.productID JOIN item I ON I.id = PI.itemID AND I.active = 'S' WHERE P.id NOT IN ( SELECT PI.productID FROM product_item PI JOIN item I ON I.id = PI.itemID WHERE I.active IS NULL ) AND P.id IN ( SELECT PI.productID FROM product_item PI JOIN item I ON I.id = PI.itemID WHERE I.name = 'mesa' ) GROUP BY P.id, P.name;
  9. landerbadi

    Consulta SQL dentro de outra consulta

    Eu consegui fazer listar todos os produtos em que todos os itens estão ativos. Porém não estou conseguindo fazer ele listar todos os produtos que contenham um determinado item. Eu fiz assim: CREATE TABLE `item` (id int, name varchar(50), active varchar(1) null); CREATE TABLE `product` (id int, name varchar(50)); CREATE TABLE `product_item` (productID int, itemID int); INSERT INTO `item` (id, name, active) VALUES (1, 'casa', 'S'),(2, 'mesa', 'S'),(3, 'cama', 'S'),(4, 'moto', 'S'),(5, 'radio', null); INSERT INTO `product` (id, name) VALUES (1, 'product A'), (2, 'product B'), (3, 'product C'); INSERT INTO `product_item` (productID, itemID) VALUES (1, 1), (1, 2), (1, 4), (2, 2), (2, 1), (2, 3), (3, 5), (3, 3), (3, 2); SELECT P.*, GROUP_CONCAT(I.name) AS items FROM `product` P INNER JOIN `product_item` PI ON P.id = PI.productID INNER JOIN `item` I on I.id = PI.itemID WHERE P.id NOT IN (SELECT productID FROM `product_item` PI INNER JOIN `item` I ON I.id = PI.itemID WHERE I.active IS NULL) GROUP BY P.id, P.name
  10. landerbadi

    Consulta SQL dentro de outra consulta

    Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, ativo. Nela tem cadastrado vários itens. No campo ativo eu coloco a letra "S" para informar que este item está ativo no sistema. Por exemplo: 1, casa, S 2, mesa, S 3, cama, S 4, moto S 5, rádio O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "produtos" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, mesa, moto 2, mesa, casa, cama 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela produtos da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "mesa". Preciso fazer com que o php me liste todos os registros da tabela "produtos" que contenham a palavra "mesa". Até aqui tudo bem eu consigo listar. Estou fazendo assim: <?php $item = "mesa" $sql = mysqli_query($conn, "SELECT * FROM produtos WHERE item1 LIKE '$item' OR item2 LIKE '$item' OR item3 LIKE '$item' LIMIT 10"); while($aux = mysqli_fetch_assoc($sql)) { $id = $aux["id"]; $item1 = $aux["item1"]; $item2 = $aux["item2"]; $item3 = $aux["item3"]; echo $id . " - " . $item1 . ", " . $item2 . ", " $item3 . "<br>"; } ?> O problema é que está listando todos os registros que contém o item mesa. Eu preciso que o php verifique os demais item e me liste somente os registro em que todos os registros estejam ativos no sistema. No exemplo acima ele não deveria listar o registro 3. pois nesse registro contém o item "radio" e este item não está ativo no sistema. Ou seja, o registro "radio" na tabela itens não possui um "S" na coluna "ativo". Alguém sabe como resolver isso?
  11. Williams Duarte

    Data igual do facebook

    class Data { public static function ExibirTempoDecorrido($date) { if(empty($date)) { return "Informe a data"; } $periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década"); $duracao = array("60","60","24","7","4.35","12","10"); $agora = time(); $unix_data = strtotime($date); if(empty($unix_data)) { return "Bad date"; } if($agora > $unix_data) { $diferenca = $agora - $unix_data; $tempo = "atrás"; } else { $diferenca = $unix_data - $agora; $tempo = "agora"; } for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++) { $diferenca /= $duracao[$j]; } $diferenca = round($diferenca); if($diferenca != 1) { if($periodos[$j] == "mês") { $periodos[$j] = "meses"; } else { $periodos[$j] .= "s"; } } return "$diferenca $periodos[$j] $tempo"; } } Teste Online https://ideone.com/hj5Qok
  12. Williams Duarte

    Fazer busca no Banco de dados usando vários critério

    Vou lhe dar outro exemplo de como você pode realizar esta consulta utilizando IN. A consulta SQL inicial buscará na tabela variações todos os registros que contenham a palavra "casa" ou seu plural "casas", e em seguida verificará se os outros itens desses registros estão ativos. Como SQL tem limitações para verificar múltiplas colunas de uma forma dinâmica em diferentes tabelas, faremos uma abordagem que requer uniões múltiplas com a tabela itens. SELECT v.* FROM variações v JOIN itens i1 ON (v.item1 = i1.item OR v.item1 = i1.plural) AND i1.ativo = 'S' JOIN itens i2 ON (v.item2 = i2.item OR v.item2 = i2.plural) AND i2.ativo = 'S' JOIN itens i3 ON (v.item3 = i3.item OR v.item3 = i3.plural) AND i3.ativo = 'S' WHERE 'casa' IN (v.item1, v.item2, v.item3) OR 'casas' IN (v.item1, v.item2, v.item3) Processamento PHP <?php $pdo = new PDO('mysql:host=your_host;dbname=your_dbname', 'username', 'password'); // Sua consulta SQL $sql = "SELECT v.* FROM variações v JOIN itens i1 ON (v.item1 = i1.item OR v.item1 = i1.plural) AND i1.ativo = 'S' JOIN itens i2 ON (v.item2 = i2.item OR v.item2 = i2.plural) AND i2.ativo = 'S' JOIN itens i3 ON (v.item3 = i3.item OR v.item3 = i3.plural) AND i3.ativo = 'S' WHERE 'casa' IN (v.item1, v.item2, v.item3) OR 'casas' IN (v.item1, v.item2, v.item3)"; $stmt = $pdo->query($sql); // Verifica se há registros if ($stmt->rowCount() > 0) { while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo "Registro encontrado: " . implode(", ", $row) . "<br>"; } } else { echo "Nenhum registro ativo encontrado."; } ?> Obs.: Troque os valores fixos por variaveis.
  13. biza

    agregar dados em VBA excel

    Boa tarde, tenho um problema com VBA, que gostaria que me ajudassem a resolver, pretendo com recurso a código em VBA agregar os dados de forma a que eles sejam somados. Em baixo, existe uma imagem , com o exemplo do pretendido. A esquerda a tabela que possui os dados de forma massiva e a direita o pretendido. Será que alguém me pode auxiliar a resolver isto! Obrigado.
  14. washalbano

    Sistema não funciona corretamente

    Já melhorou muito, heim??? Com foi que mudou tanto assim? Já está funcionando! Só precisei diminuir uma descida de nível ali
  15. First

    Fazer busca no Banco de dados usando vários critério

    Para realizar essa consulta no banco de dados usando PHP, você pode usar uma consulta SQL que envolve JOIN e condições de busca com LIKE para atender aos critérios especificados. Exemplo: // Item selecionado (exemplo: "casa") $itemSelecionado = "casa"; $sql = "SELECT v.id, v.item1, v.item2, v.item3 FROM variacoes v INNER JOIN itens i1 ON v.item1 = i1.item OR v.item1 = i1.plural INNER JOIN itens i2 ON v.item2 = i2.item OR v.item2 = i2.plural INNER JOIN itens i3 ON v.item3 = i3.item OR v.item3 = i3.plural WHERE (i1.item = '$itemSelecionado' OR i1.plural = '$itemSelecionado' OR i2.item = '$itemSelecionado' OR i2.plural = '$itemSelecionado' OR i3.item = '$itemSelecionado' OR i3.plural = '$itemSelecionado') AND i1.ativo = 'S' AND i2.ativo = 'S' AND i3.ativo = 'S'";
  16. First

    Ler campos com caracteres especiais no xml

    Para acessar elementos XML que possuem nomes com dois pontos, você precisa usar uma sintaxe especial para referenciar esses elementos ao usar o SimpleXML do PHP.
  17. First

    Sistema não funciona corretamente

    Olá a todos! public/.htaccess RewriteEngine On RewriteBase / # Redireciona todas as requisições para o index.php RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^ index.php [QSA,L] Fiz algumas alterações, mas estou perdido mais que bala em tiroteio. Criei um arquivo Router.php no diretorio app (app/Router.php) <?php class Router { private static $routes = []; // Método para registrar uma rota public static function route($method, $pattern, $controllerMethod) { self::$routes[] = [ 'method' => $method, 'pattern' => $pattern, 'controllerMethod' => $controllerMethod ]; } // Método para manipular as rotas public static function handleRequest() { $requestedMethod = $_SERVER['REQUEST_METHOD']; $requestedUri = parse_url($_SERVER['REQUEST_URI'], PHP_URL_PATH); foreach (self::$routes as $route) { if ($route['method'] === $requestedMethod && preg_match($route['pattern'], $requestedUri, $matches)) { // Remove o primeiro elemento, pois é a correspondência completa array_shift($matches); // Chama o método do controlador passando parâmetros da URL $controllerMethod = explode('@', $route['controllerMethod']); $controllerName = $controllerMethod[0]; $methodName = $controllerMethod[1]; require_once __DIR__ . "/Controllers/{$controllerName}.php"; $controllerInstance = new $controllerName(); call_user_func_array([$controllerInstance, $methodName], $matches); return; // Interrompe o loop após a primeira correspondência } } // Se nenhuma rota correspondente for encontrada, mostra erro 404 http_response_code(404); include_once __DIR__ . '/../resources/views/errors/404.php'; } } Alterei o index da pasta public (public/index.php) <?php // Inclui o arquivo de configuração (opcional) require_once __DIR__ . '/../config/config.php'; // Inclui o arquivo de roteamento require_once __DIR__ . '/../routes/web.php'; // Manipula a requisição Router::handleRequest(); E alterei o web da pasta routes (routes/web.php) <?php // Importa a classe Router require_once __DIR__ . '/../../app/Router.php'; // Define as rotas // Rota para a página inicial Router::route('GET', '~^/$~', 'HomeController@index'); // Rota para a página de registro Router::route('GET', '~^/register$~', 'RegisterController@showForm'); Router::route('POST', '~^/register$~', 'RegisterController@registerUser'); Mas não está funcionando, peço ajuda de vocês para fazerem o meu código funcionar. https://github.com/PauloJagata/aprendizado/ Desde já, obrigado.
  18. ILR master

    Ler campos com caracteres especiais no xml

    Fala galera. Espero que todos estejam bem. Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo: <item> <title> d sa dsad sad sadasdas </title> <link> dsadas dsa sad asd as dsada </link> <pubDate>sadasdasdsa as</pubDate> <dc:creator> d sad sad sa ad as das </dc:creator> </item> Meu código: $link = "noticias.xml"; $xml = simplexml_load_file($link); foreach($xml -> channel as $ite) { $titulo = $ite -> item->title; $urltitulo = $ite -> item->link; print $urltitulo = $ite -> item->dc:creator; } //fim do foreach ?> Esse campo dc:creator eu não consigo ler. Como faço? Agradeço quem puder me ajudar. Abs
  19. washalbano

    Sistema não funciona corretamente

    Olá! Percebi que seu sistema não define rotas, mas sim executa e sai exit() da execução. Dessa forma, sempre será executada apenas e somente a primeira rota. Acredito que precisar efetuar 2 procedimentos: 1) definir as rotas 2) executar a rota, conforme a REQUEST_URI atual
  20. tetsuo

    Sistema não funciona corretamente

    não percebi o .htaccess do apache, você está usando nginx?
  21. First

    Sistema não funciona corretamente

    Olá a todos! Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês. Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/ Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda. E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece. Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando. Desde já, obrigado.
  22. washalbano

    Abrir url na mesma janela

    tente com location.replace: https://developer.mozilla.org/en-US/docs/Web/API/Location/replace
  23. Mais antigo
  24. Olá! Boa tarde! Coloque num https://dbfiddle.uk pra gente tentar entender.
  25. ILR master

    Abrir url na mesma janela

    Alguém?
  26. Olá pessoal, boa tarde Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04). Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc. Na tabela itens eu tenho cadastrado os itens da seguinte maneira: 1, laranja, uva, arroz, feijão; 2, maçã, macarrão, goiaba, uva; 3, arroz, feijão, maçã, azeite Meu problema é o seguinte: Eu escolho um produto da tabela "produtos", por exemplo "uva". Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos". No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
  27. ILR master

    Abrir url na mesma janela

    Pessoal, pergunta bem simples. Abaixo tenho o seguinte código: <script> function alerta() { if (window.confirm("Você realmente quer sair?")) { window.open("sair.html"); } } </script> Funciona perfeitamente, só que está abrindo em outra janela e quero que abra na mesma janela. Alguém pode me ajudar?
  28. tetsuo

    Sistema de Login

    Está em ambiente de dev? a mensagem é logada em qual arquivo/linha?
  29. landerbadi

    Fazer busca no Banco de dados usando vários critério

    Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
  1. Mais Resultados
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.