Ontem achei uma solução para fazer carregar os dados do cliente atravez de um CarregarPorId…Até entao está tudo bem, o problema é que ele só vai carregar no Id da tabela…ou seja…se tiver + de 3 dados cadastrados usando a chave estrangeira, só vai pegar o 1 dado…
Tenho a tabela atividades…nela tem
id, horario, nome, funcionario_id e o cliente_id…
O funcionario cadastras as atividades no id do cliente…quando o cliente loga com o login dele…Tem que aparecer os dados que foram cadastrados no id dele…mas aqui no caso, está mostrando apenas 1 dado…queria saber se para mostrar o restante dos dados…seria necessario um Cont++ ou algo desse jeito para não aparecer apenas 1…
Segue cod da pagina que recebe…
<%@include file=“menu_cliente.jsp” %>
<%@page import=“model.Atividades”%>
<%@page import=“java.util.ArrayList”%>
<%@page import=“model.Cliente”%>
<%
String id = request.getParameter(“id”);
Cliente c = new Cliente();
ArrayList lista = new ArrayList();
Atividades a = new Atividades();
ArrayList listas = new ArrayList();
try {
a.setId(Integer.parseInt(id));
a.carregarPorCliente();
listas = a.listar();
} catch (Exception e) {
out.print("Erro: " + e);
}
%>
<%@ page contentType=“text/html; charset=ISO-8859-1” language=“java” pageEncoding=“UTF-8” import=“java.sql.*” errorPage="" %>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-light bg-faded py-lg-4">
<div class="container">
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav mx-auto">
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded bg-inverse text-white" href="painel_cliente.jsp"><img src="imagens/perfil.png"/> Perfil</a>
</li>
<li class="nav-item px-lg-4">
<a class="nav-link text-uppercase text-expanded bg-inverse text-white" href="cronograma.jsp"><img src="imagens/calendarr.png"/> Cronograma</a>
</li>
<li class="nav-item">
<a class="nav-link bg-inverse text-white" href="index.jsp"><img src="imagens/exit.png"/>Sair</a>
</li>
</ul>
</div>
</div>
</nav>
<br>
<form method="post" action="atividades.jsp">
<div class="container">
<table class="table table-striped custab">
<h1>Cronograma</h1>
<thead>
<tr>
<th>Horario</th>
<th>Segunda</th>
<th>Terça</th>
<th>Quarta</th>
<th>Quinta</th>
<th>Sexta</th>
</tr>
</thead>
<%
int cont = 0;
if (cont == 0){
%>
<%=a.getHorario()%>
</td>
<td>
<%=a.getNome() %>
<% cont++; %>
</td>
<%
}
%>
</tr>
</table>
<br>
</div>
</form>
<!-- /.container -->
Page © - 2017 Conexão Saúde
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Zoom when clicked function for Google Map -->
E A DAO DESSA TABELA… no caso o cod q faz esse de carregar o cliente…
public Atividades carregarPorCliente(int id) throws Exception{
Atividades a = new Atividades();
String sql="SELECT * FROM atividades WHERE cliente_id=?";
this.conectar();
PreparedStatement pstm = conn.prepareStatement(sql);
pstm.setInt(1, id);
ResultSet rs = pstm.executeQuery();
if (rs.next()) {
a.setId(rs.getInt("id"));
a.setHorario(rs.getString("horario"));
a.setNome(rs.getString("nome"));
a.setDia(rs.getString("dia"));
FuncionarioDAO uDAO = new FuncionarioDAO();
a.setFuncionario(uDAO.carregarPorId(rs.getInt("funcionario_id")));
ClienteDAO cDAO = new ClienteDAO();
a.setCliente(cDAO.carregarPorId(rs.getInt("cliente_id")));
}
this.desconectar();
return a;
}