Ir para conteúdo
Fórum Script Brasil

Marcos Arantes Júnior

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre Marcos Arantes Júnior

Marcos Arantes Júnior's Achievements

0

Reputação

  1. Agora o que você disse funcionou perfeitamente. Eu acho que era isso mesmo. É que tem que ser assim porque Quando vai cadastrar preço de quartos de hotel por temporada, tem que pegar as datas para saber se é alta,baixa ou alguma outra cadastrada e depois procurar na tabela de preços os preços que correspondem aquela temporada e assim multiplicar pelos dias escolhidos. Eu acho que é isso acima mesmo. Agora ele me retornou a linha que queria mesmo. Obrigado.
  2. Banco de dados MySQL Sei que para pesquisar em um campo data posso usar o seguinte código: SELECT * FROM teste WHERE data1 BETWEEN '2012-06-01' AND '2012-06-15' ou SELECT * FROM teste WHERE data1 >= '2012-06-01' AND data1<= '2012-06-15' Mas quando tenho 2 campos data com os nomes datainicial e datafinal como eu filtraria pelo intervalo dessas 2 datas? Ex: Cadastro preço de quartos em um intervalo de datas por temporada. Tabela datasdatemporada com os campos:iddatasdatemporada,dtinicial,dtfinal,temporadas_idtemporada tenho os seguintes registros cadastrados: 1, '2012-04-15', '2012-04-30', 2 2, '2012-05-01', '2012-06-30', 2 3, '2012-07-01', '2012-07-31', 1 4, '2012-08-01', '2012-11-30', 2 5, '2012-12-01', '2012-12-31', 1 ------------------------------------------------------------------------------------- Eu quero filtrar pela data inicial e final. Eu digito a data de chegada(aqui no formato do BD já): 2012-06-11 e data de saída:2012-06-16 -------------------------------------------------------------------------------------- Na lógica teria que me retornar o intervalo 2, '2012-05-01', '2012-06-30', 2 mas não retorna nada. Perceba que o intervalo está entre 2012-05-01 até 2012-06-30 -------------------------------------------------------------------------------------- Como ficaria o código SQL correto para esse caso, sendo o nome da tabela datasdatemporada?
  3. Com esse código print_r($_FILES['imagem']); eu pego o nome da imagem, mas não está pegando a primeira letra. EX: img1.jpg aparece como mg1.jpg e o código abaixo está certo. Algém poderia me dizer o que seria isso? Com esse código print_r($_FILES['imagem']); eu pego o nome da imagem, mas não está pegando a primeira letra. EX: img1.jpg aparece como mg1.jpg e o código abaixo está certo. Algém poderia me dizer o que seria isso? <?php if(isset($_POST['acao']) && isset($_POST['acao'])=='upload'){ $imagem=$_FILES['imagem']; echo '<pre>'; print_r($_FILES['imagem']); echo '</pre>'; //mysql_close($link); } ?> <div class="bordaGeral"> <div class="bordaTitulo"> &nbsp;&nbsp;Upload de Fotos </div> <form id="formulario" name="formulario" method="post" enctype="multipart/form-data" action=""> <table> <tr> <td><label> Foto 1 </label></td> <td><input type="file" id="imagem" name="imagem" size="44" /></td> </tr> </table> <table id="imgs"> </table> <input type="submit" value="Enviar" /> <input type="hidden" name="acao" value="upload" /> </form>
  4. Eu queria consultar pelo nó digitado. Ele ia procurar o nó pai e filhos que tem esse nome e se achar ele seleciona. Eu estava tentando criar um código sem pesquisar na internet mesmo. Eu consegui por parte apenas. Vou postar abaixo. // Verifica se existe o nó com o nome especificado for (int row = 1; row <= jTree1.getRowCount(); row++) { if (jTree1.getPathForRow(row).toString().substring(9).replace("]", "").equals(txtDescricao.getText().trim())) { // Seleciona o nó com base no índice caso encontre o nó especificado jTree1.setSelectionRow(row); lblMensagem.setText("Encontrado: " + jTree1.getPathForRow(row).toString().substring(9).replace("]", "")); } else { lblMensagem.setText("Não encontrado"); } } Só esse loop que deve estar com problema, porque percebi que tem índices que não tem número deles no especificado. O problema também e que jTree1.getRowCount() não deve estar dando certo porque, no meu exemplo, ele retorna 5 no total, mas tem índices com 7 e 9. Ele teria que percorrer pelos índices corretos. Esse código esta dando erro.
  5. Gostaria de carregar o jTree da seguinte maneira: Tenho 2 tabelas: grupos e info. Na tabela grupos te os campos codigo e grupo. Na tabela info tem os campos grupos_codigo, titulo, descricao. Os nós pai seriam os grupos cadastrados e os nós filhos seriam os título cadastrados que estão nesse grupo. Tenho as classes abaixo e queria mudar para o que eu quero. Já tentei fazer, mas não deu certo. Dá pra ver que tem que instanciar cada classe que vai ser o nó pai. Como eu faria isso para ter os nós pai de acordo com cada registro de grupos e em cada grupo(nó pai), tem seus respectivos filhos, que possuem esse código do grupo(chave estrangeira). Segue as classes exemplo abaixo, lembrando que ainda não mudei as classes para os nomes dados às tabelas porque estava testando o código e do jeito que preciso não funcionou. Classes: public class Autor { private String nome; public Autor(String nome) { this.nome = nome; } public String getNome() { return nome; } @Override public String toString() { return getNome(); } } Classe livro import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Livro { private String nome; private List<Autor> autores = new ArrayList<Autor>(); public Livro(String nome) { this.nome = nome; } public String getNome() { return nome; } @Override public String toString() { return getNome(); } public void addAutor(Autor autor) { autores.add(autor); } public List<Autor> getAutores() { return Collections.unmodifiableList(autores); } } TreeModel Implementado import java.util.ArrayList; import java.util.List; import javax.swing.event.TreeModelListener; import javax.swing.tree.TreeModel; import javax.swing.tree.TreePath; public class LivroTreeModel implements TreeModel { //Criamos um objeto para nossa raiz. O List não pode ser usado diretamente pois //seu hash irá mudar sempre que um novo livro for adicionado. //Fora que é mais bonitinho escrever "Livros" no topo. private String raiz = "Livros"; // Escrevam depois AbstractTreeModel para lidar com os listeners. private List<TreeModelListener> listeners = new ArrayList<TreeModelListener>(); // Raiz da nossa árvore, vamos exibir uma lista de livros. private List<Livro> livros; public LivroTreeModel(List<Livro> livros) { this.livros = livros; } /** * Com esse método, o Java quem é o objeto que está num determinado índice * do pai. Cada nó de uma árvore pode ser encarado como uma lista. Sendo o * pai a lista e o índice um dos filhos. * * @param parent * É o pai, que tem os filhos. No caso do Livro, o próprio livro. * @param index * Índice do filho. No caso do livro, o índice corresponde aos * autores. */ public Object getChild(Object parent, int index) { if (parent == raiz) // É o nó principal? return livros.get(index); // Pegamos da lista de livro if (parent instanceof Livro) // O pai é um livro? { // Devolvemos um autor return ((Livro) parent).getAutores().get(index); } // Se o pai não é nenhum desses. Melhor dar erro. throw new IllegalArgumentException("Invalid parent class" + parent.getClass().getSimpleName()); } /** * Retornamos quantos filhos um pai tem. No caso de um livro, é a contagem * de autores. No caso da lista de livros, é a quantidade de livros. */ public int getChildCount(Object parent) { // Mesma lógica. if (parent == raiz) return livros.size(); if (parent instanceof Livro) // O pai é um livro? return ((Livro) parent).getAutores().size(); // Se o pai não é nenhum desses. Melhor dar erro. throw new IllegalArgumentException("Invalid parent class" + parent.getClass().getSimpleName()); } /** * Dado um pai, indicamos qual é o índice do filho correspondente. */ public int getIndexOfChild(Object parent, Object child) { if (parent == raiz) return livros.indexOf(child); if (parent instanceof Livro) return ((Livro) parent).getAutores().indexOf(child); return 0; } /** * Devemos retornar quem é o nó raiz da árvore. Afinal, a árvore tem que * começar em algum lugar. */ public Object getRoot() { return raiz; } /** * Indicamos se um nó é ou não uma folha. Isso é, se ele não tem filhos. No * nosso caso, os autores são as folhas da árvore. */ public boolean isLeaf(Object node) { return node instanceof Autor; } public void valueForPathChanged(TreePath path, Object newValue) { // Com esse método, a tree avisa que um objeto mudou. // Editem se quiserem que um nó seja editável } // Esses dois métodos abaixo poderiam ir para classe abstrata public void removeTreeModelListener(TreeModelListener l) { listeners.remove(l); } public void addTreeModelListener(TreeModelListener l) { listeners.add(l); } } Agora a tela principal usando o modelo com as classes import java.awt.BorderLayout; import java.util.ArrayList; import java.util.List; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTree; import javax.swing.tree.TreeModel; public class Tela extends JDialog { private static final long serialVersionUID = 1L; private JPanel jContentPane = null; private JScrollPane scrlTree = null; private JTree treeLivros = null; private TreeModel treeModel; public Tela(TreeModel treeModel) { super(); this.treeModel = treeModel; initialize(); } private void initialize() { this.setSize(361, 240); this.setLocationRelativeTo(null); this.setTitle("Tree"); this.setContentPane(getJContentPane()); this.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); } private JPanel getJContentPane() { if (jContentPane == null) { jContentPane = new JPanel(); jContentPane.setLayout(new BorderLayout()); jContentPane.add(getScrlTree(), BorderLayout.CENTER); } return jContentPane; } private JScrollPane getScrlTree() { if (scrlTree == null) { scrlTree = new JScrollPane(); scrlTree.setViewportView(getTreeLivros()); } return scrlTree; } private JTree getTreeLivros() { if (treeLivros == null) { treeLivros = new JTree(treeModel); treeLivros.setRootVisible(false); treeLivros.setShowsRootHandles(true); } return treeLivros; } public static void main(String[] args) { List<Livro> livros = new ArrayList<Livro>(); Livro livro = new Livro("Duna"); livro.addAutor(new Autor("Frank Herbert")); livros.add(livro); Livro livro2 = new Livro("50 Anos Depois"); livro2.addAutor(new Autor("Chico Xavier")); livro2.addAutor(new Autor("Emmanuel (Espírito)")); livros.add(livro2); Livro livro3 = new Livro("O rapto do garoto de ouro"); livro3.addAutor(new Autor("Marcos Rey")); livros.add(livro3); Tela tela = new Tela(new LivroTreeModel(livros)); tela.setVisible(true); } } É só copiar e colar cada classe. Dá pra ver que o autor colocou um exemplo sem usar banco de dados e cada instância é um livro(nó pai) com seus autores(nó filho). Com banco de dados puxando de 2 tabelas não consegui fazer. Teria que ficar assim: Tenho cadastrado dois grupos, mas poderia ter N grupos cadastrados. Registros da tabela grupo>>> grupo1, grupo2 Registros da tabela info(grupos_codigo,titulo,descricao)>>>1,titulo1,descricao1 2,titulo2,descricao2 1,titulo3,descricao 3 2,titulo4,descricao4 Na árvores ficaria assim: grupo1 titulo1,titulo3 grupo2 titulo2,titulo4 Quando eu clicasse em um título, mostraria a descrição dele no jEditorPane. Quando eu cadastrasse mais grupos e titulos, a cada cadastro, a jTree deve ser atualizada. Espero que possam me ajudar porque já procurei muito e dessa maneira que quero ainda não consegui. Fiquei até a madrugada hoje, mas nada.
×
×
  • Criar Novo...