Ir para conteúdo

POWERED BY:

Todas as Novidades

Atualizada automaticamente     

  1. Mais antigo
  2. Omar~

    Consulta sem duplicação

    Não entendi o objetivo, afinal os resultados duplicados segundo a query apresentada estão duplicados no banco de dados. Tente usar JOIN na query e monte-a mais conivente com o objetivo, como acredito eu que em ambas tabelas possuem dados duplicados o operador ON na query pode isolar aqueles que possuem colunas com valor igual. Sem ter mais informações considere algumas alternativas Usar a função nativa do php array_filter Criar novo array organizando e definindo esse array como necessário usando os dados obtidos da query. Evitar uso da função while quando não se está usando dados que podem ter inicio ou fim, pois dependendo da situação pode sobrecarregar o servidor (máquina) caso os dados podem ser inesperados, além de danos ao hardware em sobrecarga de tarefa em loops infinitos. Você pode testar durante o processo de produção e até pode identificar problemas apenas usando a função: echo "<pre>"; // a tag pre aqui serve apenas para exibir a orientação de código var_dump($banner); Forneça mais informações, de preferência a estrutura das tabelas "não precisa dos registros" apenas para fins de verificar como montar a query da forma mais coesa.
  3. ILR master

    Consulta sem duplicação

    Tudo bem pessoal? No código abaixo, estou fazendo uma consulta nas tabelas, banners e banners_referencia Meu objetivo é trazer resultados com valores iguais ao nome da cidade declarada na $cidade ou resultados com a referencia Total. O problema é que está trazendo todos os resultados. Tenho 10 linhas, 1 com o nome da cidade e duas com o valor Total, então o resultado teria que ser de apenas 3 linhas, mas mostra tudo. $banner = "SELECT A.*, B.* FROM banners A, banners_referencia B WHERE B.cod_referencia = A.cod_referencia AND A.cidade = '$cidade' OR B.referencia = 'Total' ORDER BY RAND()"; $banner = mysqli_query($conexao, $banner) or die ("Banner não encontrado"); while($busca= mysqli_fetch_array($banner)){ print $busca['cidade'].'<br>'; }; Alguém consegue me ajudar?
  4. FabianoSouza

    Modelagem para questionário

    Oá @Omar~! Muito obrigado pela ajuda. Sua resposta foi bastante clara e trouxe direcionamentos para eu resolver meu problema. No meu caso, são questionários que poderão ser respondidos por várias pessoas. Para responder, os usuários apenas selecionarão possíveis respostas já pré-definidas. Minha estrutura está similar ao que você sugeriu (eu tenho uma tabela de perguntas, e outra de respostas). Minha dúvida era justamente se eu deveria criar ou não a tabela "questionário". Para essa situação em particular, acredito que não precisarei criar essa tabela porque são perguntas "de sistema", ou seja, não serão criadas pelo usuário e nem pelo gestor do sistema (são questões baseadas em uma metodologia de análises comportamentais, então não mudam). Mas agora entendo que para criar avaliações para outros contextos, como por exemplo para aferir conhecimentos, eu precisarei ter essa tabela "questionário". Mais uma vez, muito obrigado pela grande ajuda. Valew!
  5. Omar~

    Modelagem para questionário

    Depende do cenário a ser empregado, como vai ser executado: 1 - Questionários podem ser criados e editados? 2 - Perguntas podem ser criadas, editadas ou removidas do questionário? 3 - Mais de uma pessoa pode responder ao mesmo questionário? Supondo que sim no básico dessas três questões, sem levar em conta de como deve funcionar o carregamento dos dados, como será o funcionamento do software.... De qualquer forma eu optaria por usar tabelas distintas para cada armazenamento. Fica até mais simples gerenciar, evita confusão em manutenções se as tabelas apenas tem o que é necessário possuir, é a mesma lógica de um código orientado onde os métodos apenas fazem o que tem de fazer. Veja como pensei na arquitetura: DROP TABLE IF EXISTS `questionario`; DROP TABLE IF EXISTS `pergunta`; DROP TABLE IF EXISTS `resposta`; CREATE TABLE `questionario` ( `q_id` int(9) NOT NULL AUTO_INCREMENT, `q_title` varchar(100) NOT NULL DEFAULT '' COMMENT 'Titulo do questionario', `q_publicado` date COMMENT 'Data em que foi publicado', PRIMARY KEY (`q_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `pergunta` ( `p_id` int(9) NOT NULL AUTO_INCREMENT, `p_pergunta` varchar(200) NOT NULL DEFAULT '' COMMENT 'Texto da pergunta', `p_questionario` int(9) NOT NULL DEFAULT '0' COMMENT 'A qual questionario pertence', PRIMARY KEY (`p_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; CREATE TABLE `resposta` ( `r_id` int(9) NOT NULL AUTO_INCREMENT, `r_resposta` text CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci DEFAULT '' COMMENT 'Resposta da pergunta', `r_respondida` date COMMENT 'Data em que foi respondida', `r_pergunta` int(9) NOT NULL DEFAULT '0' COMMENT 'A qual pergunta pertence', `r_pessoa` int(9) NOT NULL DEFAULT '0' COMMENT 'Pessoa que respondeu', PRIMARY KEY (`r_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; Fazendo a(s) pergunta(s) Perceba que assim as perguntas podem ser carregadas sem as respostas evitando assim registros de perguntas duplicados no banco de dados para cada resposta que foi inserida. Imaginando assim não terei a mesma pergunta repetida em cada resposta para ela. Vendo a(s) resposta(s) do questionário Entretanto também pode-se armazenar a respostas se foi ou não respondida, exemplo se não houve dados para inserir na coluna r_resposta pode-se adicionar a base da tabela uma nova coluna para essa função -- na tabela resposta `q_respondida` enum('s', 'n') NOT NULL DEFAULT 'n' NULL COMMENT 's = foi respondida, n = nao foi respondida', Particularmente não vejo necessidade de registro para sim ou não, uma vez como mencionei é que se não tem registro do id da pergunta nas respostas para tal é porque não respondeu. Mantenha atenção na tabela de resposta, através dela você chega as perguntas, pelas perguntas ao formulário e vice-versa conforme for a necessidade. E mesmo que não haja necessidade de múltiplas pessoas responder, essa arquitetura acredito ser mais coesa.... se não há resposta o formulário não foi respondido. Por fim não se esqueça de um bom tratamento dos dados a serem inseridos na coluna r_resposta por ser um tipo text; códigos podem ser inseridos no banco de dados, códigos de quebra de estrutura ou executáveis ao serem carregados em uma instrução. #EDIT# Realmente para fins de agrupamento uma nova tabela seria necessária para registrar a data, porém pensando na ergonomia de dados possuir outra tabela nessa finalidade geraria muito mais armazenamento a longo prazo. Então apenas registre uma vez a data de uma resposta, assim não precisa armazenar novamente a mesma coisa; essa servirá para determinar quando foi respondido. - Se respondeu pergunta A registre a data, se respondeu pergunta B não precisa registrar a data novamente. Pode até optar em usar um varchar ao invés de date, assim pode-se manter a coluna vazia para as demais resposta economizando no armazenamento.
  6. FabianoSouza

    Modelagem para questionário

    Eu tenho certa dificuldade quando preciso criar tabela para armazenar respostas de questionários/prova/testes. Minha maior dúvida é como defino se um questionário qualquer foi respondido. Para responder a essa dúvida, bastaria eu fazer SELECT na tabela que armazena as respostas (e partir do resultado criar alguma lógica), ou essas respostas precisam estar associadas a uma determinada tabela, e nessa tal tabela eu usaria um campo (como booleano, por exemplo) para determinar se o questionário foi respondido ou não? Outro ponto. Seu precisar obter a informação de "data das respostas", eu devo extrair de um campo de data da própria tabela de respostas, ou de outra tabela vinculada (dúvida similar à citada acima)? Eu acho estranho ter uma tabela auxiliar para guardar data de resposta do questionário, "status" do questionário (se foi respondido ou não) e etc. Mas também acho estranho extrair essas informações da tabela que armazena as respostas, pois as informações se repetiriam (pensando num questionário cujas respostas são gravadas juntas, ao mesmo tempo). Obrigado!!
  7. Omar~

    Converter jpg para webp

    É um formato que particularmente detesto, mas em fim tentei algumas coisas aqui e a perda da qualidade da imagem ao recriar ela no servidor considerei ruim, pelo menos a meus olhos a perda de qualidade foi expressiva. Não sei se é meu servidor ou o php que não manipula bem esse formato. Então deixei a cargo do usuário decodificar o binário da imagem e apenas mandar esse código ao invés de fazer um upload. Mesmo assim não consegui recriar a imagem apenas usar o código para reescrever. Como usei script's meus tive de criar um exemplo https://drive.google.com/file/d/1Xyv05MLGNjEhojukh4tAzXuYY6L3B1b3/view?usp=sharing Ações: 1 Usuário - Selecionar uma imagem qualquer 2 Usuário - Codificar a imagem 3 Usuário - Pré visualizar essa imagem 4 Usuário - Adicionar todo código de informação da imagem 5 Usuário - Enviar os dados dessa imagem (não faz upload) 6 Servidor - Isolar o binário da imagem 7 Servidor - Reescrever uma imagem idêntica a selecionada pelo usuário na máquina dele
  8. Omar~

    Simulador Wamp

    Sim já sabia que certamente não funcionaria somente adicionando isso no código, por isso disse: Tudo é uma arquitetura depende de outros aspectos do código. Apenas apresentei a base ao qual o restante do código deve ser apoiado em cima. Lembrei que tinha um repositório com um esquema. Comecei a escrever e até hoje não dei continuidade https://github.com/Spell-Master/wesite_pessoal
  9. ILR master

    Converter jpg para webp

    Fala pessoal. Não estou conseguindo converter .jpg para .webp Alguém pode me ajudar? Segue código abaixo: $fotob = 'imagem.jpg'; $foto = explode('.',$fotob); $f = $foto[0]; $forigem = $fotob; $origem = 'fotos_noticias/'.$forigem; $fdestino = $f.'.webp'; $destino = 'fotos_capa/'.$fdestino; $imagem = imagecreatefromjpeg($origem); $imgX = imagesx($imagem); $imgY = imagesy($imagem); $novaImagem = imagecreatetruecolor($imgX, $imgY); imagealphablending($novaImagem, false); imagesavealpha($novaImagem, true); imagecopyresampled($novaImagem, $imagem, 0, 0, 0, 0, $imgX, $imgY, $imgX, $imgY); imagewebp($novaImagem, $destino, 100); imagedestroy($imagem); // Importante para limpar o cache
  10. Fursan al-Aqsa Steam Summer Sales e port para Unreal Engine 5 Novo Trailer - Iran e Palestina! https://www.indiedb.com/games/fursan-al-aqsa-knights-of-al-aqsa-mosque/videos/fursan-al-aqsa-remake-iran-for-palestine Fala galera, blz!!! Este é o primeiro post em muito tempo. Acho que vocês devem ter acompanhado o que aconteceu com o meu jogo Fursan al-Aqsa, foi bloqueado na Steam no Reino Unido e em toda a Europa (os gringos ficaram p da vida comigo kkkk), e outras coisas. Até saiu no Globo: https://oglobo.globo.com/mundo/noticia/2024/11/27/policia-britanica-bloqueia-jogo-criado-por-brasileiro-que-permite-recriar-ataques-do-hamas-para-matar-soldados-israelenses.ghtml Mas como este projeto Fursan al-Aqsa é um sonho de vida para mim, meu comprometimento com o game vai continuar por muitos anos, se Allah assim o permitir. Meu jogo está com 66% de desconto no Steam Summer Sales, então é uma ótima oportunidade comprar o jogo mais f*** de todos os tempos por 15 conto! https://store.steampowered.com/app/1714420/Fursan_alAqsa_The_Knights_of_the_AlAqsa_Mosque/ Estou trabalhando "nos bastidores" em uma nova atualização, uma nova missão, o Leão de Gaza, mas não é só isso. Esta nova atualização é uma reformulação completa do jogo (versão Remake), pois estou migrando este projeto para a Unreal Engine 5. Decidi atualizar o Fursan al-Aqsa Remake para a Unreal Engine 5 para facilitar a atualização do jogo em si, já que a UE5 tem muitas ferramentas e melhorias novas e é muito mais fácil que a Unreal Engine 4. Junto com essa atualização da engine, vou atualizar as texturas para resolução 4K, melhorar a iluminação geral, os efeitos e compatibilidade com o SteamDeck. Meu "roteiro" é o seguinte: * Port Fursan al-Aqsa Remake para Unreal Engine 5 * Melhorias na iluminação * Sombras em tempo real * Resolução das texturas dos mapas em 4K * Modo foto * Nova Missão: O Leão de Gaza * Nova Skin Yahya Sinwar * Nova Arma: Lançador de Foguetes Yasin * Novas Conquistas Steam * Novos Inimigos (Tanques Merkava, Tiger) * Compatível com o Steam Deck (Configurações Médias) Aqui segue algumas capturas do novo mapa, já em rodando liso na UE5 a 60fps: Valeu e até a próxima!
  11. Omar~

    Variável get com url amigável

    Vai depender de como a reescrita do htaccess está formulada. Mas se fosse você optaria pelo mais fácil Existem funções nativas do php para tratar strings digamos: dominio.com.br/busca/?campo=assunto <?php $url = [ 0 => 'busca', 1 => '?campo=assunto' ]; $exemploA = substr($url[1], 1); var_dump( $exemploA ); // campo=assunto $exemploB = explode('?', $url[1]); var_dump( $exemploB[1] ); // campo=assunto E por aí vai basta apenas manipular a string do índice no array onde estão os dados
  12. Omar~

    Orientação - Jav + MySql

    De fato a instalação está com problemas, ou mesmo foi incompleta por motivos variados. Onde o my.ini está depende do sistema operacional ou local onde os demais arquivos do mysql estão.... O my.ini não se configura levianamente pois ele diz os limites de dados que o sql vai trabalhar, diretórios, arquivos etc, então configurar ele sem precisão pode complicar mais ainda. Já reiniciar não funcionar é porque não há um comando para o sistema operacional iniciar o mysql quando ativo, sendo sempre necessário iniciar. Aconselho usar o Xampp independente do seu sistema operacional, pois o software fornece o mysql dentre outros como o apache, ftp que são de grande uso de um desenvolvedor. Se seu sistema operacional for o windows veja esse vídeo onde é mostrado como instalar os recursos e serviços, sendo esses os serviços de iniciação automática um problema no windows, mas no video é mostrado o que fazer para que eles funcionem.
  13. ILR master

    Variável get com url amigável

    No código abaixo, funciona perfeitamente quando chamo: dominio.com.br/noticia/todas <?php $url = (isset($_GET['url'])) ? $_GET['url'] : 'principal'; $url = array_filter(explode('/', $url)); //var_dump($url); $file = $url[0] . '.php'; if (is_file($file)) { include $file; } else { include '404.php'; } ?> Porém, quero usar variáveis com ? e &, tipo: dominio.com.br/busca/?campo=assunto Como faço pra conseguir isso? Valeu!!!
  14. ILR master

    Simulador Wamp

    Obrigado por me responder. Mas não entendi muito bem. Coloquei i seu código mas não deu certo. A pg principal não é chamada, nem outras páginas. Na verdade não entendi sua lógica. Se não for pedir demais, pode escrever o código inteiro da página index, por favor?
  15. violin101

    JAVA - Ajuda com erro.

    Caros amigos, alguém por favor pode me ajudar a identificar e corrigir esse erro, que está me deixando louco. ERROR: br.com.systemweb.model.dao.impl.CustomerDaoImpl.getObjectByTypeDocAndNumdoc Error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'where c.c_type_doc='1' and c.c_num_doc='12345678' ' at line 1 ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null OBSERVAÇÃO: não entendo porque o sistema me traz essa linha assim ==[ c.c_num_doc='12345678' ' ]=== o CustomerDao, está assim: package br.com.systemweb.model.dao; import br.com.systemweb.model.Customer; import java.util.Map; /** * * @author rctom */ public interface CustomerDao { public Customer getObjectByTypeDocAndNumdoc(String typeDoc, String numDoc); public int saveObject(Map<String,Object>requestBody); } o CustomerDaoImpl, está assim: import br.com.systemweb.config.ConexaoDB; import br.com.systemweb.constants.ConstantMenssages; import br.com.systemweb.model.Customer; import br.com.systemweb.model.Departament; import br.com.systemweb.model.District; import br.com.systemweb.model.Province; import br.com.systemweb.model.Ubigeo; import br.com.systemweb.model.dao.CustomerDao; import br.com.systemweb.utils.Utils; import java.util.Map; import java.sql.*; import java.util.HashSet; import java.util.Set; import java.util.logging.Logger; import java.util.logging.Level; /** * * @author rctom */ public class CustomerDaoImpl implements CustomerDao{ private static final Logger LOGGER = Logger.getLogger(CustomerDaoImpl.class.getName()); @Override public Customer getObjectByTypeDocAndNumdoc(String typeDoc, String numDoc) { Customer customer = null; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; StringBuilder query = new StringBuilder(); query.append("select "); query.append(" c.n_id_customer"); query.append(" ,c.c_code"); query.append(" ,c.c_type_doc"); query.append(" ,c.c_num_doc"); query.append(" ,c.c_business_name"); query.append(" ,p.n_id_person"); query.append(" ,p.c_name"); query.append(" ,p.c_first_name"); query.append(" ,p.c_last_name"); query.append(" ,p.c_civil_status"); query.append(" ,p.d_date_birth"); query.append(" ,p.c_gender"); query.append(" ,c.c_address"); query.append(" ,c.c_phone_main"); query.append(" ,c.c_email_main"); query.append(",u.n_id_ubigeo "); query.append(",u.c_departament_inei "); query.append(",u.c_departamento "); query.append(",u.c_provincia_inei "); query.append(",u.c_provincia "); query.append(",u.c_ubigeo_inei "); query.append(",u.c_distrito "); query.append(" from m_customer c inner join m_person p "); query.append(" On c.n_id_person=p.n_id_person left join m_ubigeo u "); query.append(" where c.c_type_doc=? and c.c_num_doc=?"); try { conn = ConexaoDB.getConnection(); ps = conn.prepareStatement(query.toString()); ps.setString(1,typeDoc); ps.setString(2,numDoc.trim()); rs = ps.executeQuery(); while (rs.next()) { customer = new Customer(); customer.setCustomerId(rs.getInt("n_id_customer")); customer.setCustomerCode(rs.getString("c_code")); customer.setTypeDoc(rs.getString("c_type_code")); customer.setNumDoc(rs.getString("c_num_doc")); customer.setBussinesName(rs.getString("c_business_name")); customer.setPersonId(rs.getInt("n_id_person")); customer.setName(rs.getString("c_name")); customer.setFirstName(rs.getString("c_first_name")); customer.setLastName(rs.getString("c_last_name")); customer.setCivilState(rs.getString("c_civil_status")); customer.setGender(rs.getString("c_gender")); customer.setBirthDate(Utils.convertStringToLocalDate(rs.getString("d_date_birth"))); customer.setAddress(rs.getString("c_address")); customer.setNumberPhone(rs.getString("c_phone_main")); customer.setEmail(rs.getString("c_email_main")); customer.setUbigeo(new Ubigeo(rs.getInt("n_id_ubigeo"), new Departament(rs.getString("c_departamento_inei"), rs.getString("c_departamento")), new Province(rs.getString("c_provincia_inei"), rs.getString("c_provincia")), new District(rs.getString("c_ubigeo_inei"), rs.getString("c_distrito")))); } } catch (SQLException e) { LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage()); } catch (Exception e) { LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage()); throw new RuntimeException(e.getLocalizedMessage()); } finally { try { if(rs != null){ rs.close(); } if(ps != null){ ps.close(); } if(conn != null){ ConexaoDB.releaseConnection(conn); } } catch (SQLException e) { LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage()); } } if(customer == null){ throw new NullPointerException(ConstantMenssages.MESSAGE_VAL_510); } return customer; } @Override public int saveObject(Map<String, Object> requestBody) { int r = 0; int personId = 0; Connection conn = null; PreparedStatement ps = null; ResultSet rs = null; if(requestBody.get("typeDoc").toString().equals("6")){ mappingRequestToValidadeEmptyOrNullBusiness(requestBody); } else { mappingRequestToValidadeEmptyOrNullPerson(requestBody); } //Validar Número do Documento Informado Utils.validTypeAndNumberDoc(requestBody.get("typeDoc").toString(), requestBody.get("numDoc").toString()); StringBuilder queryInsertPerson = new StringBuilder(); queryInsertPerson.append("INSERT INTO m_person("); queryInsertPerson.append("c_name"); queryInsertPerson.append(",c_first_name"); queryInsertPerson.append(",c_last_name"); queryInsertPerson.append(",c_civil_status"); queryInsertPerson.append(",c_gender"); queryInsertPerson.append(",d_date_birth"); queryInsertPerson.append(",c_state"); queryInsertPerson.append(")values(?,?,?,?,?,?,?)"); StringBuilder queryInsertCustomer = new StringBuilder(); queryInsertCustomer.append("INSERT INTO m_customer("); queryInsertCustomer.append("c_code"); queryInsertCustomer.append(",c_type_doc"); queryInsertCustomer.append(",c_num_doc"); queryInsertCustomer.append(",c_business_name"); queryInsertCustomer.append(",c_address"); queryInsertCustomer.append(",c_phone_main"); queryInsertCustomer.append(",c_email_main"); queryInsertCustomer.append(",c_create_user"); queryInsertCustomer.append(",n_id_person"); queryInsertCustomer.append(",n_id_ubigeo"); queryInsertCustomer.append(",c_state"); queryInsertCustomer.append(")values(?,?,?,?,?,?,?,?,?,?,?)"); try { //Pessoa conn = ConexaoDB.getConnection(); ps = conn.prepareStatement(queryInsertPerson.toString(), PreparedStatement.RETURN_GENERATED_KEYS); ps.setString(1, requestBody.get("name").toString().trim().toUpperCase()); ps.setString(2, requestBody.get("firstName").toString().trim().toUpperCase()); ps.setString(3, requestBody.get("lastName").toString().trim().toUpperCase()); ps.setString(4, requestBody.get("selectCivilState").toString().trim()); ps.setString(5, requestBody.get("selectGender").toString().trim()); ps.setString(6, requestBody.get("birthDate").toString().trim()); ps.setString(7, "A"); r = ps.executeUpdate(); rs = ps.getGeneratedKeys(); while (rs.next()) { personId = rs.getInt(1); } //Cliente ps = conn.prepareStatement(queryInsertCustomer.toString(), PreparedStatement.RETURN_GENERATED_KEYS); ps.setString(1, "C".concat(Utils.generateCodeWithDate())); ps.setString(2, requestBody.get("typeDoc").toString().trim()); ps.setString(3, requestBody.get("numDoc").toString().trim()); ps.setString(4, requestBody.get("businessName").toString().trim().toUpperCase()); ps.setString(5, requestBody.get("address").toString().trim()); ps.setString(6, requestBody.get("numberPhone").toString().trim()); ps.setString(7, requestBody.get("email").toString().trim()); ps.setString(8, requestBody.get("sessionUser").toString().trim()); ps.setInt(9, personId); ps.setInt(10, 1); /*Agregar de forma Dinamica*/ ps.setString(11, "A"); r = ps.executeUpdate(); } catch (SQLException e) { LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage()); } catch (Exception e) { LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage()); throw new RuntimeException(e.getLocalizedMessage()); } finally { try { if(rs != null){ rs.close(); } if(ps != null){ ps.close(); } if(conn != null){ ConexaoDB.releaseConnection(conn); } } catch (SQLException e) { LOGGER.log(Level.INFO, "Error:{0}", e.getLocalizedMessage()); } } return r; } private void mappingRequestToValidadeEmptyOrNullPerson(Map<String,Object>requestBody){ for (Map.Entry<String,Object>entry:requestBody.entrySet()) { if(mandatoryColumnsPerson().contains(entry.getKey())){ Utils.isNullOrEmty(entry.getKey(), entry.getValue().toString()); } } if(requestBody.get("birthDate").toString().isBlank()){ requestBody.put("birthDate","1900-01-01"); } } private void mappingRequestToValidadeEmptyOrNullBusiness(Map<String,Object>requestBody){ for (Map.Entry<String,Object>entry:requestBody.entrySet()) { if(mandatoryColumnsBusiness().contains(entry.getKey())){ Utils.isNullOrEmty(entry.getKey(), entry.getValue().toString()); } } if(requestBody.get("birthDate").toString().isBlank()){ requestBody.put("birthDate","1900-01-01"); } } private Set<String> mandatoryColumnsBusiness(){ Set<String> columns = new HashSet<>(); columns.add("businessName"); columns.add("typeDoc"); columns.add("numDoc"); columns.add("email"); return columns; } private Set<String> mandatoryColumnsPerson(){ Set<String> columns = new HashSet<>(); columns.add("name"); columns.add("firstName"); columns.add("lastName"); columns.add("typeDoc"); columns.add("numDoc"); columns.add("email"); return columns; } }
  16. violin101

    JAVA - Ajuda com erro.

    Caros amigos, saudações. Estou escrevendo um Sistema Java Web e quando clico no Botão Salvar, o Java acusa esse erro: ERROR: Cannot invoke "Object.toString()" because the return value of "java.util.Map.get(Object)" is null Já tentei de várias formas resolver esse problema, mas não estou conseguindo. Por favor, alguém pode me ajudar identificar a origem e resolver o problema acima ? Grato, Cesar
  17. Omar~

    Simulador Wamp

    Meio esquisito essa lógica aí... mas em fim... Primeiro é o seguinte, seu servidor está bem relaxado deixando que erros de código sejam ignorados, o que é muito perigoso E seu localhost no caso o wampp ele está mais rigoroso enquanto a permitir erros, até arisco dizer que os erros estão omitidos caso você seria informado dos erros e o código seria interrompido  Veja: $permissao = [ 'principal', 'contribua', 'quem-somos', 'politica-de-privacidade', 'termos-de-uso', 'evento', 'busca', 'galeria', 'galerias', 'clickbanner', 'noticia', 'noticias', 'contato', 'video' ]; function UrlIndex() { $filter = filter_input(INPUT_GET, 'pg', FILTER_DEFAULT); $setUrl = empty($filter) ? 'principal' : $filter; $explode = explode('/', $setUrl); $arr = array_filter($explode); return ($arr); } $url = UrlIndex(); $page = 'erro.php'; foreach ($permissao as $value) { if ($url[0] == $value) { $page = (file_exists($value . '.php') ? $value : '404') . '.php'; break; } } var_dump($page); Ao caso das variáveis, não as use! Você já vai possuir um array com esses dados caso necessite, mas sempre verifique se o valor existe antes de usar if (isset($url[3])) { // somente se obtiver a url dominio.com.br/A/B/C/D } No mais requer analise do htaccess para saber exatamente como a manipulação de dominio.com.br?pg=pagina/variavel
  18. ILR master

    Simulador Wamp

    Alguém?
  19. ILR master

    Simulador Wamp

    Fala pessoal, tudo na boa? Eu uso o wamp para desenvolver e testas meu site antes de jogar no servidor. A dúvida é o seguinte: No servidor, eu consigo ler as variáveis numa boa, mas no localhost não. Meu código no index está assim: $atual = (isset($_GET['pg'])) ? $_GET['pg'] : 'principal'; $permissao = array('principal','contribua','quem-somos','politica-de-privacidade','termos-de-uso','evento','busca','galeria','galerias','clickbanner','noticia','noticias','contato','video'); if(substr_count($atual, '/') > 0){ $atual = explode('/', $atual); $pagina = (file_exists($atual[0]. '.php') && in_array($atual[0], $permissao)) ? $atual[0] : 'erro'; $pg1 = $atual[1]; $pg2 = $atual[2]; $pg3 = $atual[3]; $urltitulo = $atual[3]; }else{ $pagina = (file_exists($atual. '.php') && in_array($atual, $permissao)) ? $atual : 'erro'; $codigo =0; }; No servidor, quando chamo: dominio.com.br/pagina/variavel ele já identifica as variáveis $pg1 = $atual[1]; e $pg2 = $atual[2]; print $pg1 = pagina print $pg2 = variavel Ele me tras os resultados No localhost não. Ele não reconhece as variáveis Alguém sabe como arrumo isso no wamp? At,
  20. Omar~

    Não consigo carregar imagem do captcha no meu formulário

    Veja se seu php está habilitado essas funções: imagejpeg e imagettftext Preparei um exemplo didático com arquivos aqui: https://drive.google.com/file/d/1dcqxJvZltxsxjLzBycCEKnr33S-IDUlG/view?usp=sharing
  21. violin101

    Orientação - Jav + MySql

    Caros amigos, saudações. Estou enfrentando um problema que não consigo entender. Após Instalar o MySql versão 8.0.36, funciona corretamente realizando as conexões. O problema é: ---[ após reiniciar o micro, o MySql não faz as conexões. --[ tenta localizar este arquivo, mas não acha: my.ini Onde localizo ou configuro este arquivo na Pasta MySql ? Grato, Cesar
  22. Rafael_Ferreira

    Não consigo carregar imagem do captcha no meu formulário

    Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha.
  23. Sugiro também sempre assegurar que o está manipulando seja o que espera, então a melhor forma é converter para o formato por vias das dúvidas, e sempre checar antes de prosseguir com o código $_REQUEST['campo_form'] = 01234567; var_dump($_REQUEST['campo_form']); // int $_REQUEST['campo_form'] = '01234567'; var_dump($_REQUEST['campo_form']); // str $_REQUEST['campo_form'] = (int) '01234567'; // string para integer var_dump($_REQUEST['campo_form']); // int $_REQUEST['campo_form'] = (string) 01234567; // integer para string var_dump($_REQUEST['campo_form']); // str Pelo que entendi a busca é pelo valor específico então eu não usaria o operador like, a não ser que quisesse todos registros começando ou terminando com o desejado. De qualquer forma executei a query aqui em pdo e o resultado foi alcançado $selecinar = $conexao->prepare("SELECT * FROM tabela WHERE coluna = :buscar"); $selecinar->execute([':buscar' => '12340000']); $resultado = $selecinar->fetchAll(PDO::FETCH_ASSOC); var_dump($resultado); Mas quando tentei buscar todos registros que tinham o zero no início ou no fim eu não consegui, confesso que faltou tentar mais. Então de improviso busquei todos registors e usei o php para isolar todos índices que eu desejo em uma nova array exemplo: /* * função que verifica se o caractere existe no texto * $caractere: qual string verficar * $texto: em qual texto verificar */ function noInicioFim($caractere, $texto) { if ($caractere == substr($texto, 0, 1) || $caractere == substr($texto, -1)) { return (true); } else { return (false); } } $registros_do_banco_de_dados = [ // simulando todos registros da tabela ['id' => 0, 'campo_str' => '01234567'], ['id' => 1, 'campo_str' => '12345670'], ['id' => 2, 'campo_str' => '12345678'], ['id' => 3, 'campo_str' => '12340000'], ['id' => 4, 'campo_str' => '11111111'], ['id' => 5, 'campo_str' => '22222222'], ['id' => 6, 'campo_str' => '33333333'], ['id' => 7, 'campo_str' => '44444444'], ['id' => 8, 'campo_str' => '55555555'], ['id' => 9, 'campo_str' => '00000000'], ['id' => 10, 'campo_str' => '10000009'] ]; $string_de_busca = '0'; // qual caractere será a chave de busca $indices_encontrados_com_zero = []; // novo array só com os índices encontrados foreach ($registros_do_banco_de_dados as $valor) { if (noInicioFim($string_de_busca, $valor['campo_str'])) { array_push($indices_encontrados_com_zero, ['id' => $valor['id'], 'campo_str' => $valor['campo_str']]); } } Não é a melhor alternativa dependendo do cenário que a aplicação deva funcionar.
  24. De fato se enviar algo o formulário é reiniciado para evitar problemas graves e deixe assim, mesmo que algum safado possa editar javascript para burlar isso a grande maioria não sabe e nem acidentalmente perturbaria o servidor. Mas se ao sair do navegador tudo é limpo é configuração dele ou está navegando anônimo ambos casos a aplicação web não pode fazer nada. Porém não fechar o navegador as sair de sua "janela" ou trocar de aba... Me parece ser algo restrito a sistema operacional ou mesmo software de navegação, até mesmo algum comando do aparelho para que limpe Nesse caso pode usar a função setInterval para que de tempo em tempo obtenha os valores dos input's no formulário e preencha os campos se houver dados registrados em variáveis Caso posso escrever e mostrar aqui um código javascript pra essa finalidade, mas você consegue pois é algo extremamente simples. Deixo observações....: Ainda não pode intervir no auto completar do navegador, não poderá dar valor a input se algum software do usuário negar essa ação, e o pior de tudo isso seria algo bem grotesco além que requereria processos que comprometeria a performasse de sua aplicação, sem mencionar que é desnecessário pois pessoalmente não vejo beneficio a não ser que eu esteja enganado e não entendi o motivo. Então não enviou o formulário e usou a função setInterval para manipular e os dados se perdem, nesse caso desconheço qualquer coisa do javascript para afim. Pois com certeza quem limpa o formulário é o usuário involuntariamente por algum software que esteja usando.
  25. Usei algumas alternativas como addEventListener visibilitychange e setInterval. Mas não resolveu.
  26. Olá. Estou atualizando meu conhecimento com Front-End e me deparei com o seguinte problema. Criei um sistema para fazer o upload de imagens e alguns campos text. Algo bem simples para depois começar a estudar javascript para mostrar a miniatura.... Mas quando saio do navegador Chrome ou da aba por mais de 3 minutos, ao retornar o navegador as vezes atualiza ou nem chega atualizar mas limpa os campos. Estou usando um Smart Motorola com Android, mas um amigo testou no iPhone e acontece a mesma coisa. Gostaria de saber se há como usar javascript para evitar isso? Agradeço desde já. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Uploader</title> </head> <body> <form action="?" method="post" enctype="multipart/form-data"> <br><br> <div>selecione a imagem 1</div> <input type="file" name="foto1" accept="image/*"> <br><br> <input type="text" name="nome_imagem1"> <br><br> <input type="file" name="foto2" accept="image/*"> <br><br> <input type="text" name="nome_imagem2"> <br><br> <input type="file" name="foto3" accept="image/*"> <br><br> <input type="text" name="nome_imagem3"> <br><br> <input type="submit" value="Enviar"> <br><br> </form> <?php if ($_SERVER['REQUEST_METHOD'] == 'POST') { vardump ($_FILES); } ?> </body> </html>
  1. Mais Resultados
×

Informação importante

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