Visualizzazione dei risultati da 1 a 9 su 9
  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,

    ho aperto una discussione nella sezione php, ma mi è stato consigliato di scrivere in questa sezione per ciò che dovrei fare.

    Ho realizzato questo codice:

    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";
             
             $ml=0;
             
             //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;
             }
             
             $arrivata=$_GET['name'];
             echo "Arrivata la pagina:".$arrivata;
             $j=1;
             if($arrivata>1)
             {
                while($j!=$arrivata)
                {
                   $ml=$ml+5;
                   $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>";
          
          /*   
            echo "<form action=\"index.php\" method=\"get\" >";
            echo "<select name=\"pages\" onclick=\"index.php\">";
            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>";
          ?>
          
          <form id="form-id" method="get" action="index.php">
             <select name="name" onchange="document.getElementById('form-id').submit();">
                <option value="1">1</option>
                <option value="2">2</option>
             </select>
          </form>
          
       </body>
    </html>
    Lo scorrimento tra le pagine funziona, ma quello che mi occorre capire, è come far si di passare la variabile $pag così da realizzare il mio form di selezione delle pagine in modo dinamico, in base alla pagine necessarie, mentre adesso ho solo fatto un prova inserendo manualmente i valori 1 e 2.
    Come scritto il codice, dalla prima pagina di notizie del sito, selezionando di andare a pagine 2, non vi sono problemi, ma fatto ciò se poi vado a riselezionare la pag 1 per tornare indietro, non accade nulla e resto alla pagina corrente.

    Grazie a tutti per l'aiuto.

  2. #2
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,505
    non si capisce molto di quello che vuoi fare,..
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  3. #3
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Se ho intuito bene...
    codice:
    echo "<select name=\"pages\" action=\"index.php\" onclick=\"this.form.submit()\">";
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Se ho intuito bene...
    codice:
    echo "<select name=\"pages\" action=\"index.php\" onclick=\"this.form.submit()\">";
    Ciao br1,

    si intendevo proprio questo, mi sono spiegato male nell'esporre il problema.
    Adesso ho riscontrato però un problema, quando mi trovo nella mia index.php e seleziono il menù per scegliere la pagina web cui saltare, non mi permette di farlo, ma resta sempre alla pagina 1.
    Per poterlo usare devo selezionare la pagina web, arrivandoci con il tasto tab e poi premere invio.

    Cosa può essere non riesco a trovare soluzione.

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    usa l'evento onchange invece di onclick
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Quote Originariamente inviata da br1 Visualizza il messaggio
    usa l'evento onchange invece di onclick
    Ciao br1,
    avevo pensato già di usarlo, adesso l'ho provato, e funziona correttamente, ma resta un ultimo problema, ovvero quando dalla pagina 1 passo alla pagina 2, e poi riseleziono la pagina 1, non riesco a tornare indietro e resto alla pagina 2.
    Da cosa può derivare??

    Grazie per l'aituo.

  7. #7
    Ti trovi a pagina 2 e nella SELECT la OPTION per la pagina 1 è la prima e dunque te la trovi già selezionata in tutte le pagine.
    Quindi non avviene alcun evento ONCHANGE !

    Una buona soluzione sarebbe far stampare la pagina 2 con l' ATTRIBUTO selected="selected" nella OPTION relativa, che verrà quindi mostrata come default al caricamento.

  8. #8
    Utente di HTML.it
    Registrato dal
    Nov 2016
    residenza
    Italy
    Messaggi
    139
    Quote Originariamente inviata da Enzo SIMONELLI Visualizza il messaggio
    Ti trovi a pagina 2 e nella SELECT la OPTION per la pagina 1 è la prima e dunque te la trovi già selezionata in tutte le pagine.
    Quindi non avviene alcun evento ONCHANGE !

    Una buona soluzione sarebbe far stampare la pagina 2 con l' ATTRIBUTO selected="selected" nella OPTION relativa, che verrà quindi mostrata come default al caricamento.
    ciao Enzo,

    ho fatto come mi hai detto, ma per come ho realizzato il codice per generare la casella con cui selezionare le pagine, mi imposta l'attributo selected in ogni pagina, quindi mi resta il problema, non vi è un altro modo per risolvere ciò..??

    il codice che sto usando per generare le option è questo:
    codice:
    echo "<form id=\"form-id\" method=\"get\" action=\"index.php\">";
            echo "<select name=\"pages\" action=\"index.php\" onchange=\"this.form.submit()\">";
            for($i=0; $i<$pag; $i++)
            {
                $x=$i+1;
                echo "<option value=$x>$x</option>";
            }
            echo "</select>";
            echo "</form>";

  9. #9
    Qualcosa del genere:
    codice:
    echo "<form id=\"form-id\" method=\"get\" action=\"index.php\">";
            echo "<select name=\"pages\" onchange=\"this.form.submit()\">";
            for($i=0; $i<$pag; $i++)
            {
                $x=$i+1;
                if($_GET['pages']==$x){
                echo "<option value='$x' selected='selected'>$x</option>";
                } else {
                echo "<option value='$x'>$x</option>";
                }
            }
            echo "</select>";
            echo "</form>";
    Dal Tag della SELECT ho tolto l' Attributo ACTION che rimane esclusivo del FORM ...

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 © 2024 vBulletin Solutions, Inc. All rights reserved.