Tenho um problema meio chato: Tenho a função abaixo funcionando perfeitamente, dentro de uma classe chamada "medico", que retorna um array de dados.
Porém preciso que ela retorne também o número de registros afetados, quando uso filtros, e não estou conseguindo fazer isso (vou usar para paginar os resultados via jquery - é uma consulta ajax - o esquema já está pronto).
Eu passo como parametro o "LIMIT" ($limite) que eu quero (ex.: "0,10"), só que aí o nnúmero de registros obviamente nunca vai passar do limite.
Como eu poderia fazer para retornar o número total de linhas afetadas incluindo isso no objeto "$medico"?
A função da minha classe de acesso a dados para retornar o total de linhas afetadas por uma query é "$variavel = $banco->hasResultQuery();"
public static function consultaLista($limite = NULL, $nome = NULL, $especialidade = NULL, $estado = NULL, $ordenado = NULL) {
$sql = "SELECT m.nome AS medico, e.especialidade, u.nome AS membroColih, m.dataUltimoContato, m.id FROM medicos AS m ";
$sql .= "LEFT JOIN especialidades AS e ON (m.idEspecialidade = e.id) ";
$sql .= "LEFT JOIN usuarios AS u ON (m.idMembroColih = u.login) ";
$filtro = array();
if (isset($nome))
$filtro[] = " m.nome LIKE '$nome' ";
if (isset($especialidade))
$filtro[] = " m.idEspecialidade = $especialidade ";
if (isset($estado))
$filtro[] = " m.estado = '$estado' ";
if (!empty($filtro))
$sql .= "WHERE " . implode("AND", $filtro);
if (isset($ordenado))
$sql .= "ORDER BY m.dataUltimoContato";
if (isset($limite))
$sql .= "LIMIT " . $_POST["limite"];
$banco = Factory::getDatabaseInstance(); // minha classe de acesso a dados
$banco->executeQuery($sql); // executa a query
$banco->close(); // fecha a conexão
$medicosArray = array();
foreach ($banco->getRecords() as $record) {
$medico = new self($record["medico"]);
$medico->setEspecialidade(utf8_encode($record["especialidade"]));
$medico->setMembroColih($record["membroColih"]);
$medico->setDataUltimoContato($record["dataUltimoContato"]);
$medico->setId($record["id"]);
$medicosArray[] = $medico;
}
return $medicosArray;
}
Pergunta
bartolossi
Boa tarde pessoal.
Tenho um problema meio chato: Tenho a função abaixo funcionando perfeitamente, dentro de uma classe chamada "medico", que retorna um array de dados.
Porém preciso que ela retorne também o número de registros afetados, quando uso filtros, e não estou conseguindo fazer isso (vou usar para paginar os resultados via jquery - é uma consulta ajax - o esquema já está pronto).
Eu passo como parametro o "LIMIT" ($limite) que eu quero (ex.: "0,10"), só que aí o nnúmero de registros obviamente nunca vai passar do limite.
Como eu poderia fazer para retornar o número total de linhas afetadas incluindo isso no objeto "$medico"?
A função da minha classe de acesso a dados para retornar o total de linhas afetadas por uma query é "$variavel = $banco->hasResultQuery();"
Editado por bartolossiLink para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.