PHP-MySQL: Obtendo o número de linhas de uma consulta (select)
Para trabalhar com o número de linhas do resultado de um select, utilize mysql_num_rows.
Este comando é valido apenas para comandos como SELECT ou SHOW que atualmente retornam um conjunto de resultados. Para obter o número de linhas afetadas por uma consulta INSERT, UPDATE, REPLACE ou DELETE.
fonte: php.net
Veja o exemplo:
<?php // variaveis para acesso ao banco de dados $servidor = 'localhost'; $username = 'root'; $password = ''; $database = 'lc'; // validando a conexao $conexao = mysql_connect($servidor, $username, $password) or die("Erro ao conectar ao banco de dados"); $db = mysql_select_db($database) or die("Erro ao selecionar banco de dados"); // efetuando um select na tabela Produtos $select = mysql_query("SELECT codigo, descricao, ativo FROM produtos"); // resultado da consulta (valor inteiro) $cont = mysql_num_rows($select); // se resultado for igual a zero, uma mensagem é exibida if ($cont == 0){ echo "Não existem produtos cadastrados!"; }else{ // exibindo o resultado echo "<strong>Lista de Produtos</strong>:"; echo "<br />"; while ($rows = mysql_fetch_array($select)){ echo "<strong>Código</strong>: ".$rows['codigo']; echo " - "; echo "<strong>Descrição</strong>: ".$rows['descricao']; echo "<br />"; } } ?> |
Eu não poderia utilizar um SELECT COUNT(campo) AS TOTAL,NOME,DESCRICAO,VALOR FROM PRODUTOS?
E usar o result para trazer TOTAL?
Olá Gilberto.
Bem lembrado. Podemos utilizar sim SELECT COUNT, com esse select teremos o mesmo resultado.
Complementando: segundo especialistas, o SELECT COUNT é mais rápido do que mysql_num_rows ao exibir o resultado.
Parabéns. Foi dificil achar essa dica tão simples
linhadecomando de parabéns mais uma vez, bem explicado!