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

Sql, Pertinente


kafunga

Pergunta

Galera, como eu faço pra pegar dados do banco e colocar numa tabela assim:

tipo...o banco é assim:

tem uma tabela q é de amigos do usuario, cada usuario pode ter 9 amigos, e cada amigo tem um avatar.

então, eu queria pegar este dados do banco dos amigos, q seria o nome e o avatar dele....

para ficar assim:

<tr>

<td>

avatar1

</td>

<td>

avatar2

</td>

avatar 3

<td>

</tr>

<tr>

<td>

Amigo 1

</td>

<td>

Amigo 2

</td>

<td>

Amigo 3

</td>

</tr>

<tr>

<td>

avatar4

</td>

<td>

avatar5

</td>

avatar 6

<td>

</tr>

<tr>

<td>

Amigo 4

</td>

<td>

Amigo 5

</td>

<td>

Amigo 6

</td>

</tr>

<tr>

<td>

avatar7

</td>

<td>

avatar8

</td>

avatar 9

<td>

</tr>

<tr>

<td>

Amigo 7

</td>

<td>

Amigo 8

</td>

<td>

Amigo 9

</td>

tipo, é p ficar igual esta aqui neste site q eu estou fazendo, mais neste caso ai eu coloquei manualmente as figuras mais o site mesmo tem q pegar do banco

olhe aqui: http://gamesclan.cjb.net e olhe como esta a tabela de figuras..

agora, como eu posso fazer isto, colocar um loop dentro do outro, sei lá..

me ajude a galera..

ps: quero aprender, nada pronto! wink.gif

Link para o comentário
Compartilhar em outros sites

5 respostass a esta questão

Posts Recomendados

  • 0

ps: quero aprender, nada pronto! wink.gif

Certo... esse é um ótimo começo. rolleyes.gif

Isso que você quer fazer é um pouco complicado, mas tem solução. O complicado é porque no HTML você tem que imprimir a tabela linha por linha. você vai imprimir os avatares 1, 2 e 3, e na linha de baixo, depois de ter impresso esses avatares (ou seja, depois do laço ter percorrido os 3 primeiros registros) você vai imprimir os nomes de 1, 2 e 3... ou seja, você vai ter que buscar informações de registros que já ficaram pra trás no laço.

Bom, minha idéia é a seguinte:

Criar um laço while pra imprimir os registros... a cada passagem desse laço, você imprime 1 avatar e guarda o nome do usuário num array. Aí, no final da estrutura while, cria um if que verifica se o número do registro impresso é um múltiplo de 3. Se sim, ele entra num novo laço pra imprimir a próxima linha (ou seja, as 3 colunas com os nomes). Essas colunas serão alimentadas pelo array com os nomes dos usuários que você criou no while principal. Aí, no final desse "if", você zera o array com os nomes.

Já dá pra ter uma idéia de como fazer isso? Tenta criar, se não der certo, posta aí que a gente ajuda.

[]'s!

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, se eu intedi algo, vamos ver:

fazer o while para pegar todos os dados do banco e jogar num array?assim?

$sql = "Select * FRoM tabela Where condição";

$resultado = mysql_query($sql);

while($dados = mysql_fetch_array($resultado))

{

começa assim?

ainda estou perdido....

mais agurado proximas dicas..

valeus!!! biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, esse é o começo! smile.gif

No exemplo que eu passei, ficaria uma estrutura assim:

// inicia as variáveis:

$i = 0; // este é um contador pra você saber qual registro está sendo impresso

$nomes = array(); // lista com os nomes dos registros que já foram impressos

while($dados = mysql_fetch_array($resultado))

{

    // esta variável terá valor 1 durante o 1º registro, 2 durante o 2º e assim por diante...

    $i++;

    // imprimir os avatares pra cada registro

    // inclir o nome do registro sendo impresso no array $nomes

    if ($i % 3 == 0)

    {

        // criar uma nova linha na tabela e imprimir os nomes que você

        // guardou em $nomes... um em cada coluna (ou seja,

        // cria um novo laço aqui)

        $nomes = array(); // zera o array com os nomes

    }

}

Deu uma clareada?

Link para o comentário
Compartilhar em outros sites

  • 0

Deu sim, amigo..

eu vim responder agora, porque eu estava no trabalho, e chegeui agora..

então vamos lá...

este foi o q você passou:

// inicia as variáveis:

$i = 0; // este é um contador pra você saber qual registro está sendo impresso

$nomes = array(); // lista com os nomes dos registros que já foram impressos

while($dados = mysql_fetch_array($resultado))

{

    // esta variável terá valor 1 durante o 1º registro, 2 durante o 2º e assim por diante...

    $i++;

    // imprimir os avatares pra cada registro

    // inclir o nome do registro sendo impresso no array $nomes

    if ($i % 3 == 0)

    {

        // criar uma nova linha na tabela e imprimir os nomes que você

        // guardou em $nomes... um em cada coluna (ou seja,

        // cria um novo laço aqui)

        $nomes = array(); // zera o array com os nomes

    }

}

este é o q eu estou pensando

// inicia as variáveis:

$i = 0; // este é um contador pra você saber qual registro está sendo impresso

$nomes = array(); // lista com os nomes dos registros que já foram impressos

while($dados = mysql_fetch_array($resultado))

{

    // esta variável terá valor 1 durante o 1º registro, 2 durante o 2º e assim por diante...

    $i++;

    // imprimir os avatares pra cada registro

    echo "<img src="pasta/$dados[\"img"\]">";//img   

// inclir o nome do registro sendo impresso no array $nomes

    aqui é ondi eu vou colocar dentro do array o nome do amigo?

    if ($i % 3 == 0)

    {

        // criar uma nova linha na tabela e imprimir os nomes que você

        // guardou em $nomes... um em cada coluna (ou seja,

        // cria um novo laço aqui)

        Aqui como eu faço para fazer um loop(while) para tirar todos os dados da array e colocar em cada coluna correta?        $nomes = array(); // zera o array com os nomes

    }

}

Link para o comentário
Compartilhar em outros sites

  • 0

aqui é ondi eu vou colocar dentro do array o nome do amigo?

Isso... pra incluir um nome no array, você faz assim: $nomes[] = "Kafunga";

echo "<img src="pasta/$dados[\"img"\]">";//img

Não está dando um "parse" error aqui, não??? Veja bem... se você começa a string com aspas duplas, você tem que escapar as aspas duplas dentro dela... a não ser que você queira terminar a string e concatená-la com um ponto (.) com uma variável depois.

Aqui como eu faço para fazer um loop(while) para tirar todos os dados da array e colocar em cada coluna correta?

Não precisa ser um laço while, necessariamente... você pode fazer com um for, ou foreach... se você não sabe como fazer, o que mais tem são exemplos de como imprimir os elementos de um array... é só dar uma fuçada no manual do PHP. Aí você vai ter que montar o "quebra-cabeça" pra que ele imprima corretamente as <tr>, <td>, </td> e </tr>.

Falou!

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,1k
    • Posts
      651,8k
×
×
  • Criar Novo...