Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Paginazione

  1. #1

    Paginazione

    Buon giorno a tutti
    Vi chiedo aiuto sulla paginazione. Ho una pagina di ricerca che permette di selezionare delle ricerche. Attraverso un radiobutton posta alla pagina di visualizzazione anche un valore progressivo da 1 a 7.
    Sulla pagina di visualizzazione per vedere i risultati apro uno switch e a secondo del valore
    postato dal radiobutton eseguo una delle 7 query
    (
    $radio=$_POST['radiobutton']; //recupera la variabile globale spedita dal form
    switch ($radio){
    case 1:.............)
    e fin qui tutto ok.

    Essendomi accorto che il problema era visualizzare su più pagine quando il risultato non stava tutto su una ecco che mi sono bloccato.


    Dopo aver letto molti tutorial sulla paginazione riesco a:
    effetuarla correttamente se non uso il radiobutton altrimenti non riesco vedere più della prima pagina poi:

    Notice: Undefined index: radiobutton in c:\programmi\easyphp1-8\www\armi\pagination.php on line 40


    Questo sarebbe per me il primo step, poi se ci fosse qualche "anima buona" sarebbe da unire
    la ricerca con radiobutton con la paginazione.
    Eventualmente aggiungo i vari codici.
    Ringraziando anticipatamente per l'attenzione
    saluto tutti
    CBR

  2. #2
    Uhm... sinceramente non è che tu sia stato molto chiaro ma da come ho interpretato la tua domanda penso che il problema stia in come formuli la paginazione.
    Ad esempio, se devi elencare a fondo pagina una serie di link corrispondenti alle pagine da visitare (e tutte queste pagine sono generate da uno solo dei 7 casi), dovresti ripetere nella URL del link il valore attuale del radiobutton.
    Il problema sta nel fatto che passando tale valore nel link dovresti poi prelevarlo con $_GET[] mentre invece ho visto che tu il valore lo prendi con $_POST[].
    Non so se ci siamo capiti... Magari specifica meglio la tua domanda.
    A presto.
    "Non basta una vita per conoscere se stessi, figurarsi per conoscere gli altri"

  3. #3

    Ho provato ma nulla

    Non mi riesce!!! sigh!
    Includo i codici a della pagina di ricerca:
    <?php require_once('Connections/pol.php'); ?><?php
    mysql_select_db($database_pol, $pol);
    $query_istituti = "SELECT * FROM istituti";
    $istituti = mysql_query($query_istituti, $pol) or die(mysql_error());
    $row_istituti = mysql_fetch_assoc($istituti);
    $totalRows_istituti = mysql_num_rows($istituti);
    ?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>::::</title>
    </head>

    <body link="#F0F0EB" vlink="#00FFFF" alink="#00FFFF">
    <table width="100%" border="0">
    <tr>
    <td height="44" bgcolor="#4a5a6a"><div align="center"><font color="#FFFFFF" size="6" face="Verdana, Arial, Helvetica, sans-serif">Info Vigile</font></div></td>
    </tr>
    <tr>
    <td height="20" bgcolor="#4a5a6a"><font color="#FFFFFF"> | Menu' |Logout | </font></td>
    </tr>
    <tr>
    <td height="47">[img]images/index.jpg[/img]</td>
    </tr>
    </table>
    <table width="100%" border="1" bgcolor="#4A5A6A">
    <tr>
    <td height="220" bgcolor="#CCCCCC"><form id="form1" name="form1" method="post" action="pagination.php">
    <label>
    <table width="100%" border="1">
    <tr>
    <td height="24" colspan="2"><select name="select">
    <?php
    do {
    ?>
    <option value="<?php echo $row_istituti['NOME']?>"><?php echo $row_istituti['NOME']?></option>
    <?php
    } while ($row_istituti = mysql_fetch_assoc($istituti));
    $rows = mysql_num_rows($istituti);
    if($rows > 0) {
    mysql_data_seek($istituti, 0);
    $row_istituti = mysql_fetch_assoc($istituti);
    }
    ?>
    </select></td>
    </tr>
    <tr>
    <td width="17%" height="11"><font color="#000066">Indeterminato</font></td>
    <td width="83%"><input name="radiobutton" type="radio" value="1" checked="checked" />
    <font color="#000066" size="2">Ricerca i contratti di di tipo &quot;Indeterminato&quot; per l'Istituto selezionato </font></td>
    </tr>
    <tr>
    <td height="11"><font color="#000066">Determinato</font><font color="#000066"></font></td>
    <td height="11"><input name="radiobutton" type="radio" value="2" />
    <font color="#000066" size="2">Ricerca i contratti di di tipo &quot;Determinato&quot; per l'Istituto selezionato</font></td>
    </tr>
    <tr>
    <td height="24"><font color="#000066">Apprendistato</font>
    <label></label></td>
    <td height="24"><input name="radiobutton" type="radio" value="3" />
    <font color="#000066" size="2">Ricerca i contratti di di tipo &quot;Apprendistato&quot; per l'Istituto selezionato</font></td>
    </tr>
    <tr>
    <td height="27"> <font color="#000066">Totale </font></td>
    <td height="27"><label>
    <input name="radiobutton" type="radio" value="4" />
    <font color="#000066" size="2">Ricerca i contratti di ogni tipo senza selezione per Istituto </font></label></td>
    </tr>
    <tr>
    <td height="24"><font color="#000066">Totale Indet. </font></td>
    <td height="24"><label>
    <input name="radiobutton" type="radio" value="5" />
    <font color="#000066" size="2">Ricerca tutti i contratti di di tipo &quot;Indeterminato&quot; senza selezione per Istituto </font></label></td>
    </tr>
    <tr>
    <td height="24"><font color="#000066">Totale Deter. </font></td>
    <td height="24"><label>
    <input name="radiobutton" type="radio" value="6" />
    <font color="#000066" size="2">Ricerca tutti i contratti di di tipo &quot;Determinato&quot; senza selezione per Istituto </font></label></td>
    </tr>
    <tr>
    <td height="24"><font color="#000066">Licenza</font></td>
    <td height="24"><label>
    <input name="radiobutton" type="radio" value="7" />
    <font color="#000066" size="2">Ricerca per Licenza </font></label></td>
    </tr>
    <tr>
    <td height="24"><font color="#000066">Totale Apprend. </font></td>
    <td height="24"><label>
    <input name="radiobutton" type="radio" value="8" />
    <font color="#000066" size="2">Ricerca tutti i contratti di di tipo &quot;Apprendistato&quot; senza selezione per Istituto </font></label></td>
    </tr>
    <tr>
    <td height="24" colspan="2"><input type="submit" name="Submit2" value="Invia" /></td>
    </tr>
    </table>





    </form> </tr>
    <tr>
    <td height="21" bgcolor="#4a5a6a">[img]images/bottom.jpg[/img]</td>
    </tr>
    </table>
    </body>
    </html>
    <?php
    mysql_free_result($istituti);
    ?>

    B della pagina di visualizzazione:

    <html>
    <head>

    <style type="text/css">
    #container {
    width: 100%;
    margin: auto;
    background-color: #FFF;
    border: 1px solid #CCC;
    padding: 0px;
    }
    a {
    text-decoration: none;
    padding: 2px;
    font-family: verdana;
    font-size: 11px;
    border: 1px solid #CCC;
    color: #333;
    background-color: #FFF;
    }
    a:hover {
    color: #FFF;
    background-color: #333;
    }
    div {
    background-color: #f1f1f1;
    font-family: verdana;
    font-size: 11px;
    padding: 5px;
    margin: 10px;
    }
    </style>
    </head>
    <body>

    <div id="container">

    <?php

    $radio=$_POST['radiobutton']; //recupera la variabile globale spedita dal form
    if ($radio == 1){
    // User-credentials
    $host = "localhost";
    $user = "pluto";
    $pass = "topo";
    $data = "vigilanza";

    // Establish connection, and select db
    $conn = mysql_connect($host, $user, $pass) or die(mysql_error());
    mysql_select_db($data, $conn) or die(mysql_error());

    // Create some variables
    $pageNumber = (isset($_GET["page"]) && is_numeric($_GET["page"])) ? $_GET["page"] : 1;

    // Establish number of results per page
    $perPage = 5;

    // Establish a padding value
    $padding = 3;

    // Get Start index of results
    $startIndex = ($pageNumber * $perPage) - $perPage;

    // Get total number of database entries
    $totalCount = "SELECT COUNT(*) as 'Total' FROM dati";
    $rsCount = mysql_query($totalCount, $conn) or die(mysql_error());
    $rowCount = mysql_fetch_object($rsCount);

    // Show Page Listings
    print "<div align=\"center\">";

    // Get our total number of pages
    $numOfPages = ceil($rowCount->Total / $perPage);

    // Print link to first page
    print "<a href=\"pagination.php?page=1\">PRIMO</a> ";

    // If our current page, minus our padding, is greater than 1
    if(($pageNumber - $padding) > 1) {
    print "... ";
    // Set our lower limit
    $lowerLimit = $pageNumber - $padding;
    // Print all padded numbers between lowerLimit and current page
    for($i = $lowerLimit; $i < $pageNumber; $i++) {
    print "<a href=\"pagination.php?page=".$i."\">".$i."</a> ";
    }
    } else {
    // Print all numbers between current page, and first page
    for($i = 2; $i < $pageNumber; $i++) {
    print "<a href=\"pagination.php?page=".$i."\">".$i."</a> ";
    }
    }

    // If we're not on the first page, or the last page, print current page
    if(($pageNumber != 0) && ($pageNumber != 1) && ($pageNumber != $numOfPages)) {
    print " - " . $pageNumber . " - ";
    }

    // If our current page, plus our padding, is less than the total number of pages
    if(($pageNumber + $padding) < $numOfPages) {
    // Set upper limit
    $upperLimit = $pageNumber + $padding;
    // Print all number from padded pages above current page
    for($i = ($pageNumber + 1); $i <= $upperLimit; $i++) {
    print "<a href=\"pagination.php?page=".$i."\">".$i."</a> ";
    }
    print "... ";
    } else {
    // Print all page numbers between number of pages and current page
    for($i = ($pageNumber + 1); $i < $numOfPages; $i++) {
    print "<a href=\"pagination.php?page=".$i."\">".$i."</a> ";
    }
    }

    // Print link to last page
    print "<a href=\"pagination.php?page=".$numOfPages."\">ULTIM O</a>";

    print "</div>";

    // Get page results
    $sql = "SELECT id, istituto, cognome, nome, contratto, scadenza FROM dati WHERE istituto = '$_POST[select]' AND contratto = 'indeterminato'ORDER BY cognome ASC
    LIMIT $startIndex, $perPage";

    // Get result set
    $rs = mysql_query($sql, $conn) or die(mysql_error());

    // Do we have results?
    if(mysql_num_rows($rs) > 0) {
    // Show the results
    while($row = mysql_fetch_object($rs)) {
    print "<div>";
    print $row->cognome;
    print ": ";
    print $row->nome;
    print "</div>";
    }
    } else {
    print "Sorry, no results found.";
    }

    // Close our database connection
    mysql_close($conn);

    }
    ?>
    </div>
    Grazie per l'attenzione che mi hai dato.

  4. #4

    OK era il GET

    Grazie del consiglio dopo alcune prove con il GET sostituito al POST Funzia.
    Riesco a fare tutto sia il ciclo Switch che la paginazione.
    Grazie per l'aiuto

    Cordialmente
    CBR

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.