Ir para conteúdo
Fórum Script Brasil
  • 0

Organizar


hlegius

Pergunta

Pessoal,

assim, vamos supor que eu tenho um loop com while ou for sei lá eu...

para por exemplo exibir os nomes...

<?

$lista = mysql_query("SELECT nome FROM tbl");

if(mysql_num_rows($lista) > 0){

while($nome = mysql_fetch_Array($lista)){

$brows = $nome['nome'];

}

}else{ print "sei não..."};

vamos supor que eu tenho 5 valores:

João

Jeremias

Jaqueline

Jamile

Jamil

tongue.gif

agora, queria lista-los assim:

+---------

1-----4

---3---

2-----5

----------+

Nunca precisei usar isso, mas quando precisei fiz com umas "gambiarras" do mysql...

<?
$lista_col1 = mysql_query("SELECT nomes FROM tbl ORDER BY nomes ASC LIMIT 2");
//loops e coisas do tipo

doutro lado da tabela(html, não MySQL)...
$lista_col2 = mysql_query("SELECT nomes FROM tbl ORDER BY nomes ASC LIMIT 2,3");
//coisas do tipo... loop....

Mas sei lá, ficaria meio forçado, não?

o que vocês sugerem?

até... smile.gif

Link para o comentário
Compartilhar em outros sites

7 respostass a esta questão

Posts Recomendados

  • 0

Organizar que você diz é colocar eles em determinados lugares de uma tabela?

Não dá pra ir organizando dentro do loop? Com um contador ou uma variável que vai mudando de valor e dizendo qual código HTML deve envolver o valor vindo da DB?

Também daria pra passar tudo pra uma array e depois ir organizando... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0
Organizar que você diz é colocar eles em determinados lugares de uma tabela?

Não dá pra ir organizando dentro do loop? Com um contador ou uma variável que vai mudando de valor e dizendo qual código HTML deve envolver o valor vindo da DB?

Também daria pra passar tudo pra uma array e depois ir organizando... smile.gif

se diz algo assim:

<table width="75%" border="0">

<?

$lista = mysql_query("SELECT nomes FROM tbl");

if(mysql_num_rows($lista) > 0){

while($vl = mysql_fetch_array($lista)){

?>

  <tr>

    <td><? print "Nome: ".$vl['nome'] ?></td>

<td><? print "E-mail: ".$vl['email] ?></td>

  </tr>

<?

}

?>

</table>

<?

}else{ print "Sei lá brow...";

};

// continua no próximo epsódio...

?>

?

até... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

isso é dispensável:

if(mysql_num_rows($lista) > 0){

Porque se não ouver nada a array vai vir vazia e o while não vai nem executar o que tem dentro... smile.gif

Seria alguma coisa por aí mesmo, mas usando uma outra variável pra controlar como vai ser a linha, por exemplo:

<?php

$td_mode = 0;

while(*condição*) {

if($td_mode==0){

echo *exibibe 2 registros na mesma linha*;

$td_mode=1;

}

else{

echo *exibibe  só 1 registro*;

$td_mode=0;

}

}

?>

Mais ou menos dessa forma.

E para os que pensaram "tem um jeito muito mais fácil de fazer isso usando módulos", sim, tem, mas assim fica mais fácil de entender o conceito; se isso for o que ele quer eu explico o esquema do módulo... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

certo, então é mais facil criar uma váriavel de controle para limitar quantos itens por coluna e etc...

Agora, uma pergunta idiota: no lugar do echo vêm as tabelas <tr><td> ... certo?

ah, se quizer pode explicar esse tal de módulo...

obrigado pelas explicações!

até... smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Isso mesmo... no lugar do echo vem os as linhas [<tr>] e células [<td>] das tabelas... smile.gif

Sobre a variável, acho que sim... se o padrão mudar de linha pra linha... É o mesmo princípio da tabela com as linhas coloridas que alternam, não é? Se for isso, acho que é o melhor jeito mesmo... smile.gif

O esquema é do módulo [na verdade é do resto] funciona da seguinte forma...

<?php

$counter = 0;

while( *condição*){

if($counter%2){

echo * 2 registros na mesma linha*;

}

else{

echo *1 só registro na linha*;

}

$count++;

}

?>

O que o "if($counter%2)" faz é verifica se o resultado da divisão de $counter por 2 é inexistente (0 = inexistente em PHP), se for, ele executa o código. Isso faz com que ele execute o código sempre que o número for par (claro, números pares divididos por 2 dão sempre 0 e 0 é inexistente).

Aqui tem um link para o significado de %: http://br.php.net/manual/pt_BR/language.op....arithmetic.php

Capisce ou ficou muito confuso? smile.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Certo, deu para entender sim...

então, caso não varie tipo

1---3

2---4

pode fazer do jeito que eu coloquei lá em cima, certo? pois fica mais facil...

agora se tiver

1-----4

---3---

2-----5

é melhor usar módulo ou variavel para controlar, por causa que no meio vai somente 1...

bacana...deu para sakar...

muito obrigado pela aula!

até... smile.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,6k
×
×
  • Criar Novo...