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

(Resolvido)Problemas com programação!


Marcelo Mussi

Pergunta

Gostaria de saber se alguém consegue identificar meu erro aqui!

<?php

// Pega os dados na tabela do banco de dados

$resultado = mysql_query("SELECT * FROM parceria WHERE ativo='S' ORDER BY nome");

$linhas = mysql_num_rows ($resultado);

// Exibe os dados

echo "

<table width='100%' border=0 align=center><tr>

";

for ($i=0; $i<$linhas; $i++)

{

$nome_parc = mysql_result($resultado,$i,"nome");

$url_parc = mysql_result($resultado,$i,"url");

$img_parc = mysql_result($resultado,$i,"img");

echo "

<td width=\"50%\" height=\"100\" class=\"menuvip\" id=\"menu6\">

<div align=\"center\">

<a href=\"$url_parc\" class=\"menu\"><img src=\"http://www.mussicorporation.com.br/adm/parc/imagens_parceiros/$img_parc\" width=\"88\" height=\"31\" border=\"0\"><br>

$nome_parc</a>

</div>

";

if($i%5==0){

echo "</td>";

echo "</tr>";

}

else{

echo "</td>";

}

}

if($i==0)

{

echo "<center>Desculpe -nos, mais não foi localizado nenhum parceiro !</center>";

}

echo "</table>";

mysql_close($conexao);

?>

Ao invéz dele contar 6 e fechar td e tr ele conta um depois conta 5.

O erro esta a página: http://www.mussicorporation.com.br lá em baixo na parte de parceiros...

Fico grato se alguém poder me ajudar..

Editado por Marcelo Mussi
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Veja que na primeira volta do laço o valor é igual a zero ($i = 0) a sua condição é:

if($i%5==0){

Logo, como $i = 0, 0%5 == 0 é verdadeiro, por isso que na primeira volta ele já fecha os td/tr... altere o valor inicial do $i para 1...

Link para o comentário
Compartilhar em outros sites

  • 0

Ve se eu entendi... a alteração deverá ficar assim:

if($i%5==1){

echo "</td>";

echo "</tr>";

}

else{

echo "</td>";

}

Se for assim, ele conta dois e pula agora... =S

Será que existe outro metodo para isso????

Se você conhecer e puder me passar algumas dicas, eu corro atraz...

Grato..

Cara... consegui... =D

Eu coloquei assim...

if($i%5==4){

echo "</td>";

echo "</tr>";

}

else{

echo "</td>";

}

^^

Obrigado pela ajuda...

Link para o comentário
Compartilhar em outros sites

  • 0

Bom, eu disse "altere o valor inicial do $i para 1..." e não para você alterar ali...

Altere isso:

for ($i=0; $i<$linhas; $i++)

para isso:

for ($i=1; $i<=$linhas; $i++)

E isso:

if($i%5==0){

Para isso:

if($i%6==0){

EDIT:

Só que ali no mysql_result, você vai ter que carregar uma segunda variável, começando do zero, aliás, se você utilizasse o while com um mysql_fetch_assoc ou mysql_fetch_array, não precisaria de tanto trabalho.

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,7k
×
×
  • Criar Novo...