Ir para conteúdo

POWERED BY:

Arquivado

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

sylar_head

ir para primeiro registro no mysql após consulta pelo php

Recommended Posts

Após uma consulta ao bd, como faço pra que o ponteiro do vá pro primeiro registro? como se fosse uma nova consulta a mesma tabela

Compartilhar este post


Link para o post
Compartilhar em outros sites

Por exemplo, eu fiz uma consulta numa pagina (select * from tabela order by nome asc). Aí beleza, pegou os dados em ordem alfabetica, aí em outro canto da mesma pagina eu queria fazer a mesma coisa. Como eu faço pra pegar do primeiro ao ultimo novamente em ordem alfabetica?

Compartilhar este post


Link para o post
Compartilhar em outros sites

realizando a query novamente.

 

mas 'não faz sentido', então uma forma melhor, seria guardar os dados num array durante o primeiro loop.

então para a segunda vez, bastaria percorrer esse array, sem precisar enviar a query novamente.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tem algum exemplo de como eu poderia fazer isso? sou novato em php e to meio confuso.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode usar mysql_data_Seek

http://www.php.net/manual/en/function.mysql-data-seek.php

 

funciona mesmo com a conexão fechada. Basta ter o resource retornado por mysql_query() e usá-lo no parâmetro de mysql_data_seek

 

 

:thumbsup:

Compartilhar este post


Link para o post
Compartilhar em outros sites

com o Willian disse você poderia reescrever a query, mas ñ faz sentido.

Se você armazenar a consulta sql em uma variavel, e transforma-la em um vetor você podera acessalo qdo quiser e o ponteiro sempre estara no inico..

 

aconselho tbm o 'foreach':

 

foreach é um laço de repetição do php para ler os dados de um vetor, excelente se você quiser imprimir os valores do vetor, ou percorre-lo ate achar determinado valor...

então vamos la...

 

<?php
//primeiro faça a consulta Mysql

$consulta = "select * nome_tabela order by nome asc";

$qry = mysql_query($consulta);

$vetor = mysql_fetch_array($qry); 

/*
aqui a função 'mysql_fetch_array' transforma sua consulta sql em um vetor, assim você ja tem os dados da consulta 
armazenados na variavel, qdo você utilizar essa variavel ele sempre iniciara pelo primeiro valor da consulta  
- Aqui ja faz oque você queria -
*/


//farei um exemplo de pesquisa para listar os dados do vetor na tela

$tabela = "<tr><td>";

//agora entra o foreach...

foreach($vetor as $coluna => $valor){  

$tabela .= $valor."<br><hr />";

}
/*
aqui $vetor é a consulta sql, $coluna é a variavel que irá receber o nome das colunas da tabela Mysql e 
$valor os valores dessa mesma tabela, e sairá do laço 'foreach' quando acabarem os valores da tabela Mysql 
*/

$tabela .= "</td></tr>";
?>
.
.
.
//la em baixo na <table> do seu arquivo...
<table>
<?php echo $tabela; ?>
</table>

 

É claro, eu viajei um pouco na explicação, mas esse foi um exemplo de como usar a consulta Sql, se você testar vera que ele sempre imprimira apartir primeiro valor pela orderm que você definiu.

Acho q isso é oq você keria e um pouco mais...

espero q tenho ajudado...

=D

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.