Mam taki problem. Zrobiłem sobie wykuszkiwarkę, w której wybieram dwie pozycje, dział i miasto. Kod poniżej ( tutaj raczej jest dobrze )
<?php require_once('class/class.SQL.php'); require_once('class/class.User.php'); $sql = new SQL; $sql->connection(); $user = new User; $title = 'Wyszukiwarka wyników '; require_once('themes/header.php');?> <?php require_once('themes/menu3.php'); ?> <h3>Sprzęt wg oddziałów i pracowni</h3> <table> <form method="post" action="walidacja3.php"> <tr><td>Oddział: </td><td> <select name="city"><?php </tr> <td>Pracownia/ Dział: </td><td> <select name="section"><?php </td></tr> <input type="submit" style="background-color:yellow" value="Szukaj wyników"> </form> </table> <?php } ?> <?php require_once('themes/footer.php'); ?>
Drugim plikiem jest walidacja3.php gdzie są wyświetlane wyniki. Wyniki również się wyświetlają prawidłowo. Problem pojawił się gdy dołożyłem dzielenie
wyników na strony np. po 25 jak w kodzie poniżej. Wtedy wyświetla mi się pierwsza strona z wynikami, a na kolejnych widnieje 0. Próbowałem tworzyć to z sesją, ale nie było oczekiwanego rezultatu. Oczywiście, jeśli nie daję tego podziału na strony, to ilość wyników wyświetla się prawidłowo. Gdzie jest błąd i jak to można zrobić?
<?php $oddzial=$_POST['city']; $pracownia=$_POST['section']; if ( $oddzial=='-----' && $pracownia=='-----'){ $info = 'MUSISZ WYBRAĆ PRZYNAJMNIEJ ODDZIAŁ LUB PRACOWNIĘ.'; $_SESSION['info'] = $info; $color1='red'; $_SESSION['color1'] = $color1; $komentarz = '<font color="'.$_SESSION['color1'].'" size="3"><b>'.$_SESSION['info'].'</b></font>'; $_SESSION['komentarz'] = $komentarz; exit; } elseif ( $oddzial!='-----' or $pracownia!='-----') { ?> <center> <img src="../images/logo genkart.jpg" alt="" width="756" height="150" /> <h3>Sprzęt w oddziałach terenowych i pracowniach</h3> <?php require_once('themes/menu3.php'); ?> <br> <br> <table width="100%" border="1"> <tr bgcolor="#0033ff"> <td width="3%" align="center"><b>Lp.</b></td> <td width="20%" align="center"><b>Nazwa sprzętu</b></td> <td width="10%" align="center"><b>Nr seryjny</b></td> <td width="7%" align="center"><b>Nr inwent.</b></td> <td width="20%" align="center"><b>Pracownia</b></td> <td width="10%" align="center"><b>Oddział</b></td> <td width="7%" align="center"><b>Pozostało</b></td> <td width="5%" align="center"><b>Historia</b></td> <td width="5%" align="center"><b>Etykieta</b></td></tr> <?php if ($oddzial!='-----' && $pracownia=='-----') { $query_nr = mysql_query("SELECT COUNT(*) FROM sprzet WHERE TO_DAYS(`data_nast`) - TO_DAYS(NOW()) >= '-1000' AND sp_mier='Nie' AND blokada='Tak' AND miasto='$oddzial'")or die( mysql_error());} if ($oddzial=='-----' && $pracownia!='-----'){ $query_nr = mysql_query("SELECT COUNT(*) FROM sprzet WHERE TO_DAYS(`data_nast`) - TO_DAYS(NOW()) >= '-1000' AND sp_mier='Nie' AND blokada='Tak' AND pracownia='$pracownia'")or die( mysql_error());} if ($oddzial!='-----' && $pracownia!='-----'){ $query_nr = mysql_query("SELECT COUNT(*) FROM sprzet WHERE TO_DAYS(`data_nast`) - TO_DAYS(NOW()) >= '-1000' AND sp_mier='Nie' AND blokada='Tak' AND pracownia='$pracownia' AND miasto='$oddzial'")or die( mysql_error());} //tworzenie stronicowania wyników $wynikow = 25; $page = $_GET['page']; $odkad = $page * $wynikow - $wynikow; } else { $page = 1; $odkad = 0; } $poprzenia = $page -1; $nastepna = $page +1; if ($oddzial!='-----' && $pracownia=='-----'){ $query = mysql_query("SELECT `id`, `nazwa`, `producent`, `typ`, `nr_ser`, `nr_inw`, `pracownia`, `miasto`, `osoba`, `czas_wal`, TO_DAYS(`data_nast`) - TO_DAYS(NOW()) AS `roznica` FROM sprzet WHERE sp_mier='Nie' AND blokada='Tak' AND miasto='$oddzial' ORDER BY `roznica` ASC LIMIT $odkad, $wynikow")or die( mysql_error()); } if ($oddzial=='-----' && $pracownia!='-----'){ $query = mysql_query("SELECT `id`, `nazwa`, `producent`, `typ`, `nr_ser`, `nr_inw`, `pracownia`, `miasto`, `osoba`, `czas_wal`, TO_DAYS(`data_nast`) - TO_DAYS(NOW()) AS `roznica` FROM sprzet WHERE sp_mier='Nie' AND blokada='Tak' AND pracownia='$pracownia' ORDER BY `roznica` ASC LIMIT $odkad, $wynikow")or die( mysql_error()); } if ($oddzial!='-----' && $pracownia!='-----'){ $query = mysql_query("SELECT `id`, `nazwa`, `producent`, `typ`, `nr_ser`, `nr_inw`, `pracownia`, `miasto`, `osoba`, `czas_wal`, TO_DAYS(`data_nast`) - TO_DAYS(NOW()) AS `roznica` FROM sprzet WHERE sp_mier='Nie' AND blokada='Tak' AND pracownia='$pracownia' AND miasto='$oddzial' ORDER BY `roznica` ASC LIMIT $odkad, $wynikow")or die( mysql_error()); } $i = 0; $i++; $wynik = $i%2; if($wynik == "0"){ $kolor = "white";} else { $kolor = "#99ffff"; } if ($set['roznica'] >='30'){ $kolor3='black'; } elseif ($set['roznica']<'30'){ $kolor3='red'; } <td width="3%">'.$i.'.</td> <td width="20%"> '.$set['nazwa'].'</td> <td width="5%"> '.$set['nr_ser'].'</td> <td width="5%"> '.$set['nr_inw'].'</td> <td width="20%"> '.$set['pracownia'].'</td> <td width="10%"> '.$set['miasto'].'</td> <td width="7%" align="center"><font color='.$kolor3.'><b> '.$set['roznica'].' dni</b></font></td> <td width="5%"><a href="walidacja.php?get=hist&id='.$set['id'].'" target=_blank>Historia</a></td> <td width="5%"><a href="walidacja.php?get=wizyt&id='.$set['id'].'" target=_blank>Etykieta</a></td></tr>'; } ?> </table> <?php // odnośnik na poprzednią stronę if($page != 1){ } // pętla for za pomocą której wyświetlamy odnośniki do poszczególnych stron for($str=1; $str<=$stron; $str++){ } // odnośnik na następną stronę if($page != $stron){ } ?> <br> <?php } ?>