• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

neverdie

funcao: mysql_fetch_array()

11 mensagens neste tópico

Boa tarde;

Antes de mais, quero agradecer pela vossa vontade de ajudar que tenho encontrado neste forum!

Tenho + uma duvida que é a seguinte:

quando uso a funcao : mysql_fetch_array()

para aceder as varias linhas que uma consulta devolver utilizo um ciclo while,

mas eu queria aceder sem ser com o ciclo a 1ª linha ou a 3ª linha ...

Alguem sabe como posso fazer?

Cumprimentos

Marco

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Boa tarde;

Antes de mais, quero agradecer pela vossa vontade de ajudar que tenho encontrado neste forum!

Tenho + uma duvida que é a seguinte:

quando uso a funcao : mysql_fetch_array()

para aceder as varias linhas que uma consulta devolver utilizo um ciclo while,

mas eu queria aceder sem ser com o ciclo a 1ª linha ou a 3ª linha ...

Alguem sabe como posso fazer?

Cumprimentos

Marco 

Não podes usar outra coisa? Seria mais facil... (para ti).

algo do tipo:

$linha = 1;

$campo = "username";

echo mysql_result(mysql_query("select c1,c2 from tabela"), $linha,$campo); //vai dar username Kimico porque Kimico está na segunda linha a 1.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

atenção kimiko, ele assim está a executar o sql de cada vez que lá vai buscar um resultado. podes melhorar isso guardando a query numa variável e depois ir lá buscar o resultado.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

depende do ponto de vista... mas sim, o kimico está a esxagerar na dose... se fosse numa empresa que eu cá sei, ao fazeres select da base de dados toda, comia-se tudo... MAS como estamos cá para ajudar quem menos sabe... tem de se comecar por algo... eu pessoalmente, iria brincar com os limits, ou simplesmente como o battousai disse, pegando do recordset(uma array) e guardar para mais tarde usaR quando xamar a raw 3 para ali, a row 43 para culá  e a raw 69 para o caralh...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

atenção kimiko, ele assim está a executar o sql de cada vez que lá vai buscar um resultado. podes melhorar isso guardando a query numa variável e depois ir lá buscar o resultado.

$linha = 1;

$campo = "username";

echo mysql_result(mysql_query("select c1,c2 from tabela"), $linha,$campo);

isso apenas corre uma vez... e a cada pedido, executa UMA query, onde está o problema?  Ou entao corre la isso. Não vejo ciclos como ele pediu... Logo so corre UMA vez.

$hResult = mysql_query("select c1,c2 from tabela")

echo mysql_result($hResult, $linha,$campo);

era disso que falavas? qual é a diferença além de ocupar memoria com o resultset?

Usando a ideia do cyclop que é a melhor, e não é ideia mas sim o que se FAZ.

$hResult = mysql_query("select c1,c2 from tabela limit $linhaquequeres,1"); //ta certo? se não estiver procura

echo mysql_result($hResult, 0);

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@Kimico

Ainda estou para perceber a necessidade de citar o tópico todo para se dar uma resposta... Ainda por cima quando se foi o primeiro utilizador a responder e mesmo que não fosse, o post todo? Sem necessidade...

</offtopic> </rant>

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
$hResult = mysql_query("select c1,c2 from tabela")

echo mysql_result($hResult, $linha,$campo);

era disso que falavas? qual é a diferença além de ocupar memoria com o resultset?

acho que ele não vai só usar os dados uma vez, logo disse que o melhor seria guardar dados numa variável para usar várias vezes, em vez de estar a fazer a query várias vezes. Isto claro, se ele utilizar os dados da query mais que 1 vez.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sem contar que uma tabela com uns milhares de registos dava buraco e não é cache friendly.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Sem contar que uma tabela com uns milhares de registos dava buraco e não é cache friendly.

Dava nada... "init_set('memory_limit','1024M"); ^^ gozo. tens razao claro =)

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Dava nada... "init_set('memory_limit','1024M"); ^^ gozo. tens razao claro =)

Nem me lembrei do limite de memória dos processos do PHP...
0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Nem me lembrei do limite de memória dos processos do PHP...

LOL lembrarias-te no fim de veres o:

"Fatal error" ^^

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora