Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Helmesvs

Conta dados pegos pelo select

Recommended Posts

Pessoal como faço para contar quantos registros foram selecionados por esses dois select?

$con = new mysqli('localhost', 'root', '3740', 'astronews');
    $pesquisado = $_GET['busca'];
    $pesTratado = str_replace('+',' ',$pesquisado);

    $sql = ("SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo FROM publicacoes WHERE titulo LIKE '%$pesTratado%' UNION SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo FROM materias WHERE titulo LIKE '%$pesTratado%' ORDER BY datahora DESC LIMIT $inicio, $quantidade");
    $query = $mysqli->query($sql);
	
	$qrTotal    = $mysqli->query($sql);

Compartilhar este post


Link para o post
Compartilhar em outros sites

 

Então eu fiz isso, mas ta me retornando so o valor que vai aparecer em uma pagina da paginação. Mas nao retorna o valor das outras paginas da paginação

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você só poderá contar o que selecionou. Se quiser fazer outra contagem, faça outro select.

 

Mas não entendo por que você vai querer saber o número de registros de outras páginas. Se eu estou na página X, por que os valores da página X+1 ou X-1 vão me interessar?

Pro seu software, só interessa o total de registros e o número de registros da página corrente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você só poderá contar o que selecionou. Se quiser fazer outra contagem, faça outro select.

 

Mas não entendo por que você vai querer saber o número de registros de outras páginas. Se eu estou na página X, por que os valores da página X+1 ou X-1 vão me interessar?

Pro seu software, só interessa o total de registros e o número de registros da página corrente

 

É porq eu pego todos os registros selecionados e dividos eles em paginas (paginação). So que no topo eu queria que aparecesse a quantidade de registros encontrados, como no google

 

Screenshot_59.png

 

Ah, essa vai ser a pagina de busca do meu site, por isso preciso de todos os encotrados

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, foi isso que eu disse: só precisa do total e do número da página corrente. Você disse que queria de outras páginas.

 

Pra selecionar tudo, basta fazer a consulta sem a cláusula LIMIT. E recomendo usar COUNT, para apenas contar em vez de selecionar os registros:

 

SELECT COUNT(*) AS total FROM tabela WHERE condicoes;

A consulta vai retornar o campo "total", com o total de registros da busca

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então, foi isso que eu disse: só precisa do total e do número da página corrente. Você disse que queria de outras páginas.

 

Pra selecionar tudo, basta fazer a consulta sem a cláusula LIMIT. E recomendo usar COUNT, para apenas contar em vez de selecionar os registros:

SELECT COUNT(*) AS total FROM tabela WHERE condicoes;

A consulta vai retornar o campo "total", com o total de registros da busca

 

Se puder organizar a sintaxe pra mim, eu to tentando aqui mas ta dando erro na sintaxe. Acho que por causa do union

$sql = ("SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo FROM publicacoes WHERE titulo LIKE '%$pesTratado%' UNION SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo FROM materias WHERE titulo LIKE '%$pesTratado%' ORDER BY datahora DESC LIMIT $inicio, $quantidade");

E eu preciso selecionar o Day(datahora) dessa forma ai

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver aqui. Fiz dessa forma:

$sql = ("SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo, COUNT(id) AS total2 FROM publicacoes WHERE titulo LIKE '%$pesTratado%' UNION SELECT id, titulo, datahora, Day(datahora), foto1, descricao, visualizacao, tipo, COUNT(id) FROM materias WHERE titulo LIKE '%$pesTratado%' ORDER BY datahora DESC LIMIT $inicio, $quantidade");

E que tive que fazer dois select diferentes

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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