Marrom 0 Denunciar post Postado Novembro 17, 2004 Pessoal fiz uma busca no BD : $sql = "SELECT * FROM clientes"; $rsCli = mysql_query($sql) or die(mysql_error()); $totalRows = mysql_num_rows($rsCli); aí eu utilizei o código abaixo para mostrar todos os resultados : while($array_cli = mysql_fetch_array($rsCli)){ $id = $array_cli['id']; $nome = $array_cli['nome']; echo $id;echo $nome;} Pelo que me parece o código acima cria um array com o resultado do select. Pórem ele me mostra todos os ids e nomes da busca, porém eu só preciso do 3 primeiros ... como fazer ? Agradeço a ajuda. Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Novembro 17, 2004 Dá uma estudada/pesquisada sobre: LIMIT, do Mysql. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Marrom 0 Denunciar post Postado Novembro 17, 2004 Dá uma estudada/pesquisada sobre: LIMIT, do Mysql. ;) michelsp, obrigado pela "luz" ... o problema do LIMIT na query é que ele também afeta o total de linhas buscadas, ou seja se eu colocar no select LIMIT 3 ele só buscará as 3 primeiras linhas e mostrará as 3 primeiras linhas ... porém nesta mesma tela eu informo o total de clientes cadastrados na base através da função : mysql_num_rows e utilizando o limit aparecerá um total de 3 clientes cadastrados, quando na verdade são mais ... Concluindo : Eu preciso informar o total de clientes cadastrados ( e por isso não posso utilizar o limit ), porém só devo mostrar os 3 primeiros ? e aí ? tem outro jeito ? obrigado Compartilhar este post Link para o post Compartilhar em outros sites
michelsp 0 Denunciar post Postado Novembro 17, 2004 2 query's, ou então você usa, por exemplo: 'mysql_result' e mostra somente os registros q desejar. ;) Compartilhar este post Link para o post Compartilhar em outros sites
Leandru 0 Denunciar post Postado Novembro 17, 2004 Rapaz, tá meio confuso o q você quer.Se você quer mostrar o número de registros de uma tabela, usa o $totalRows = mysql_num_rows($rsCli);echo $totalRows; // Mostra a quantidade de registrosQual a necessidade de mostrar só os três primeiros registros ? Compartilhar este post Link para o post Compartilhar em outros sites
Marrom 0 Denunciar post Postado Novembro 17, 2004 2 query's, ou então você usa, por exemplo: 'mysql_result' e mostra somente os registros q desejar. pois é acabei optando por 2 selects ... obrigado Rapaz, tá meio confuso o q você quer.Se você quer mostrar o número de registros de uma tabela, usa o $totalRows = mysql_num_rows($rsCli);echo $totalRows; // Mostra a quantidade de registrosQual a necessidade de mostrar só os três primeiros registros ?Leandru .... a necessidade nunca é nossa ... é sempre do cliente. Ele precisa que apareça uma lista com os 3 primeiros clientes e o total de clientes cadastrados, não sei o pq, porém ele quer assim, então eu tenho que fazer ...Acabei utilizando a opção de 2 selectsvaleu pela força Compartilhar este post Link para o post Compartilhar em outros sites
Flávio Lago 0 Denunciar post Postado Novembro 18, 2004 Marrom, eu tenho uma classe que exibe uma determinada quantidade de registros por página (p.ex. "página 1 de 3"). Pode ser interessante p/você, pois não precisará de dois selects:/* DEFINIÇÃO DA CLASSE */<?Class Paginador{ var $pagina; var $totalPaginas; var $primeiraLinha; var $ultimaLinha; var $totalLinhas; var $linha; //construtor function Paginador( $pagina= 1, $totalLinhas=0, $linhasPorPagina ) { if ( $pagina <= 0 ) { $pagina= 1; } if ( $totalLinhas < 0 ) { $totalLinhas= 0; } $this->pagina= $pagina; $this->totalLinhas= $totalLinhas; $this->linha= 0; //definir intervalo a ser impresso $this->totalPaginas= ceil( ( $this->totalLinhas / $linhasPorPagina ) ); if ( $this->pagina > $this->totalPaginas ) { $this->pagina= $this->totalPaginas; } if ( $this->pagina <= $this->totalPaginas ) { $this->ultimaLinha= ( $this->pagina * $linhasPorPagina ); $this->primeiraLinha= ( $this->ultimaLinha - $linhasPorPagina ) + 1; } } //end construtor //recuperar os dados contidos no resultset, pertencentes ao intervalo a ser impresso function getDados( $conn, $result ) { while ( $oDado= $conn->getDados( $result ) ) { ++$this->linha; if ( $this->totalPaginas >= $this->pagina and $this->linha >= $this->primeiraLinha and $this->linha <= $this->ultimaLinha ) { return ( $oDado ); } }//end while }//end getDados}//end class paginador?>NO SEU PROGRAMA, FAÇA://sua seleção dos registros$sql= "SELECT * FROM clientes";$rsCli= mysql_query($sql) or die(mysql_error());$totalRows= mysql_num_rows($rsCli); //CLASS PAGINADORrequire( 'paginador.class.php' );$pagina= 1; // página a ser exibida$linhas= 3; // qtde de linhas a ser exibida na página acima//OBJETO PAGINADOR$Paginador= new Paginador( $pagina, $linhas );//EXIBINDO OS REGISTROS (APENAS, A QTDE DEFINIDA ACIMA)while ( $oCliente= $Paginador->getDados( $conn, $rsCli ) ){ echo $oCliente->id; echo $oCliente->nome;}Espero ter contribuído. Compartilhar este post Link para o post Compartilhar em outros sites
Leandru 0 Denunciar post Postado Novembro 18, 2004 Então tá Compartilhar este post Link para o post Compartilhar em outros sites