Jump to content
Sign in to follow this  
Matunga

Limitar consulta a 3 1ºs registos [RESOLVIDO]

Recommended Posts

Matunga

Ola a todos, estou com um probleminha que é o seguinte:

- O meu site gaming, na parte do menu, tem um link "Eventos" e ai aparecem todos os acontecimentos, sejam torneios e/ou ligas

- Esses mesmos torneios/ligas podem ser adicionados/removidos na parte de admininistração do site que criei

- Limitei o numero de torneios/ligas para 3

- tive de colocar no menu, os if's necessários para que aparecessem os torneios/ligas (as varias possibilidades de aparecerem)

ex: apenas um dos tres eventos, os tres ao mesmo tempo, so o 1º e 2º, 1º e 3º, 2º e 3º

Problema: No meu menu.php, apenas tenho ligas/torneios a aparecerem até ao id=3, uma vez que tive bastante trabalho para criar o código,

e sempre que eu adiciono uma liga/torneio que ocupe o id=4 já não aparece no meu menu esse mesmo evento.

Alguma solução pessoal? Ou so mesmo fazendo o codigo com meia duzia de id/s por exemplo?

Exemplo de um pedaço do código:


menu.php

<ul id="nav-container" class="nav-container">
      <li><a class="item-primary" href="home.php" target="_parent">Home/Noticias</a></li>
       <li><span class="divider divider-vert" ></span></li>
      <li><a class="item-primary" target="_self">Torneios/Ligas >></a>
         <ul style="width:150px;">
         <li><a style="color:black" href="hall_of_fame.php" target="_self" >Hall of Fame</a>
            <li><a style="color:black" target="_self" >Torneios</a>

<!------------------------------------------>
<!-- TORNEIO 1
<!------------------------------------------>
<?
$sql_torneio_1 = mysql_query("SELECT * FROM tabela_torneios_existentes WHERE id='1'");
while ($linha_torneio_1 = mysql_fetch_array($sql_torneio_1)) {
$nome_torneio_db_1 = $linha_torneio_1['nome_torneio'];
$id_torneio_1 = $linha_torneio_1['id'];

?>
        <?
        if ($nome_torneio_db_1 != null) {
        ?>
           <ul style="width:150px;">
            <li><a style="color:black" title="Fase de Grupos" target="_self" ><? echo $nome_torneio_db_1  ?></a>
               <ul>
            <li><a style="color:black" href="inscricoes_torneio.php" target="_self" >Inscrições</a>
            <li><a style="color:black" href="1_fase_torneio.php" target="_self" >Classificação</a>
            <li><a style="color:black" href="jornadas_torneio.php" target="_self" >Jornadas</a></li>
            <li><a style="color:black" href="enviar_resultados_torneio.php" target="_self" >Envio de resultados</a></li>
            <li><a style="color:black" href="regras_torneio.php" target="_self" >Regras</a></li>
           </ul>
        </ul>
            <?
            }
            }
            ?>

<!------------------------------------------>
<!-- TORNEIO 2
<!------------------------------------------>

<!-- tudo igual ao TORNEIO 1 mas o WHERE id=2 e a indicação sempre do _2
<!-- Mesmo processo para o TORNEIO 3
<!-- Mesmo processo para os TORNEIOS que quizesse comparar.

Talvez não me explique bem, mas não sei melhor, desculpem se estou a ser pouco esclarecedor 

Abraços ;)

Share this post


Link to post
Share on other sites
Weasel

Estás a fazer da forma errada tenta assim:


menu.php

<ul id="nav-container" class="nav-container">
      <li><a class="item-primary" href="home.php" target="_parent">Home/Noticias</a></li>
       <li><span class="divider divider-vert" ></span></li>
      <li><a class="item-primary" target="_self">Torneios/Ligas >></a>
         <ul style="width:150px;">
         <li><a style="color:black" href="hall_of_fame.php" target="_self" >Hall of Fame</a>
            <li><a style="color:black" target="_self" >Torneios</a>
               <ul style="width:150px;">
<!------------------------------------------>
<!-- TORNEIO 1 a N
<!------------------------------------------>
<?
$sql_torneio_1 = mysql_query("SELECT * FROM tabela_torneios_existentes ORDER BY id ASC LIMIT 0, 5");
while ($linha_torneio_1 = mysql_fetch_assoc($sql_torneio_1)) {
$nome_torneio_db_1 = $linha_torneio_1['nome_torneio'];
$id_torneio_1 = $linha_torneio_1['id'];

?>
        <?
        if ($nome_torneio_db_1 != null) {
        ?>
            <li><a style="color:black" title="Fase de Grupos" target="_self" ><? echo $nome_torneio_db_1  ?></a>
               <ul>
            <li><a style="color:black" href="inscricoes_torneio.php" target="_self" >Inscrições</a>
            <li><a style="color:black" href="1_fase_torneio.php" target="_self" >Classificação</a>
            <li><a style="color:black" href="jornadas_torneio.php" target="_self" >Jornadas</a></li>
            <li><a style="color:black" href="enviar_resultados_torneio.php" target="_self" >Envio de resultados</a></li>
            <li><a style="color:black" href="regras_torneio.php" target="_self" >Regras</a></li>
           </ul>
        
            <?
            }
            }
            ?>
</ul>

Não testei e já não mexo em php há algum tempo ;)

Assim mostra 5 torneios (caso existam) podes alterar esse numero, se quizeres que apareçam só 3, basta por 3 -> LIMIT 0, 3


Knowledge to the masses


Share this post


Link to post
Share on other sites
Matunga

Com o codigo acima, agora apenas aparece o ultimom torneio criado, se estiverem 3 criados aparece apenas 1 deles, que é o que esta em ultimo lugar

mais alguma sugestao?

abraços ;)

Share this post


Link to post
Share on other sites
Matunga

O problema ja foi resolvido, finalmente mesmo, obrigado Weasel pela disponibilidade :)

Abraços

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.