Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139

    Come selezionare pagine web con menù a tendina

    Ciao a tutti,

    per il mio sito che estrae notizie da un database, ho deciso di mostrare nella mia index, solo le prime 5 notizie più recenti, e dare la possibilità di ricercare le altre notizie navigando dalle pagine.
    Per fare ciò ho realizzato il codice seguente:

    codice:
    <html>
       <head>
          <?php include_once('C:\xampp\htdocs\www.sportnews.it\fstile.css'); ?>
          <title>Sport news</title>
          <h1>Notizie sportive in tempo reale</h1>
       </head>
       <body>
          <?php
             
             include "..\www.sportnews.it\connetti.php";
             
    //Le variabili $ml e $ML servono a memorizzare i valori da passare alla query e definire il LIMIT da //visualizzare
             $ml=0;
             $ML=($ml+5);
             
             //conto quante riche ho nella tabella, ogni riga corrisponde ad una news
             $q=mysql_query("SELECT * FROM notizies");
             $righe=mysql_num_rows($q);
             //ottenuto il numero di righe calcolo quante pagine occorrono per suddividere 5 news per pagina
             if(($righe%5)==0)
             {
                $pag=$righe/5;
             }else
             {
                $pag=floor($righe/5)+1;
             }
             
    //questa parte di codice serve a capire quale pagina è stata selezionata dall'utente e che vuole //visualizzare
             $arrivata=$_GET['pagina'];
             echo "Arrivata la pagina:".$arrivata;
             for($j=0;$j<$pag;$j++)
             {
                if($arrivata>1 && $arrivata==$j)
                {
                   $ml=$ml+5;
                }  
             }
             
    
    
             $query="SELECT * FROM notizies ORDER BY data DESC LIMIT ".$ml.",".$ML;
             $results=mysql_query($query);
             
             echo "<table>";
             while($value=mysql_fetch_array($results))
             {
                echo "<tr><td>".$value["Sport"]."</td>";
                echo "<td>".$value["data"]."</td>";
                echo "<td><h3>".$value["title"]."</h3></td>";
                echo "<td><p>".$value["news"]."</p></td></tr>";
             }
             echo "</table>";
          
       //questo codice è l menù a tendina per selezionare la pagina di news da visualizzare      
            echo "<form action=\"index.php\" method=\"get\">";
            echo "<select name=\"pages\" onchange=\"showUser(this.value)\">";
            for($i=1;$i<=$pag;$i++)
            {
                echo "<option name=\"pagina\" value=$i>$i</option>";
            }
            echo "</select>";
            echo "</form>";
               
             $query1="SELECT * FROM sport ORDER BY ids";
             $results1=mysql_query($query1);
             
             echo "<form name=\"scegli\" action=\"ricerca.php\" method=\"get\">";
             echo "<fieldset>";
             echo "<legend>Filtra per sport</legend><br>";
             while($value1=mysql_fetch_array($results1))
             {
                echo "<input type=\"checkbox\" name=\"disciplina[]\" value=".$value1["Sport"].">".$value1["Sport"]."<br>";
             }
             echo "</fieldset>";
             echo "<input class=\"bt\" type=\"submit\" value=\"Filtra\" name=\"search\">";
             echo "</form>";
          ?>
       </body>
    </html>
    mi e vi chiedo, se esiste un metodo per passare il valore della selezione del mio form senza dover usare un pulsante di submit, ma solo aprendo il menù a tendina e selezionando la pagina che ci interessa.
    O se vi sono funzioni o vie più semplici da utilizzare per ottenere ciò.

    Grazie a tutti.

  2. #2
    Utente di HTML.it L'avatar di boots
    Registrato dal
    Oct 2012
    Messaggi
    1,626
    Devi farlo tramite javascript. all evento onchange del menù a tendina fai il submit della form. una cosa del genere:
    Codice PHP:
    <form id="form-id" method="post" action="tuapagina">
        <
    select name="name" onchange="document.getElementById('form-id').submit();">
             <
    option value="xx">xxx</option>
             <
    option value="yy">yyy </option>
       </
    select>
    </
    form
    Ovviamente puoi fare qualcosa d ìi più elegante con jquery e simili. Chiedi nella sezione javascript

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Quote Originariamente inviata da boots Visualizza il messaggio
    Devi farlo tramite javascript. all evento onchange del menù a tendina fai il submit della form. una cosa del genere:
    Codice PHP:
    <form id="form-id" method="post" action="tuapagina">
        <
    select name="name" onchange="document.getElementById('form-id').submit();">
             <
    option value="xx">xxx</option>
             <
    option value="yy">yyy </option>
       </
    select>
    </
    form
    Ovviamente puoi fare qualcosa d ìi più elegante con jquery e simili. Chiedi nella sezione javascript
    Grazie boots, adesso proverò per iniziare con questo codice, poi se servirà mi sposterò nella sezione javascript ;-)

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.