![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Witam
Mam na stronie element - rozwijaną listę, do której wczytuję elementy - kategorie z bazy i na jej podstawie wyświetlam artykuły z danej kategorii. Po wybraniu kategorii wyświetlam artykuły stronicując je np. po 5 na stronie tylko że to nie działa, bo po dołączeniu stronicowania okazuje się, że przecież wybierając kolejną stronę artykułów z danej kategorii strona się przeładowuje i już nie wie co było wybrane z listy (jaka kategoria). Czy możecie mi jakoś dać pomysł (a jak to wymaga większej wiedzy, której nie posiadam to chociaż mniej-więcej wytłumaczyć gdzie szukać rozwiązania) i jak doprowadzić to do ładu i składu? ps.Jeżeli potrzeba fragment kodu celem zobaczenia co z tym zrobić można to wkleję no ale to jest stronicowanie które przed dodaniem listy działało i zwykła rozwijana lista z przyciskiem submit, która też działa tylko w połączeniu ze stronicowaniem nie ma sensu... |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 25 Dołączył: 29.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
pokażesz kod (IMG:style_emoticons/default/questionmark.gif) bo bez kodu to mogę zmyślac co tam może byc
Ten post edytował Ruch Radzionków 17.03.2012, 19:12:23 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
wklejam całość ale oznaczyłam mniej więcej co gdzie czym jest bo trochę tam chaos...
Kod // to poniżej wyświetla rozwijaną listę kategorii do wyboru
$zapytan=mysql_query('SELECT * FROM kategorie ORDER BY id DESC'); echo "<form method=\"get\">"; echo "<select class=\"element select medium\" id=\"element_7\" name=\"element_7\">"; echo " <option value=\"\" selected=\"selected\">Wybierz kategorię i potwierdź wybór aby wyświetlić</option>"; while ($option=mysql_fetch_assoc($zapytan)){ echo '<option value="'.$option['nazwa'].'">'.$option['nazwa'].'</option>';} echo "</select>"; echo "<input id=\"saveForm\" class=\"button_text\" type=\"submit\" name=\"submit\" value=\"Ok\" />"; echo "</form>"; if (isset($_GET["submit"])){ if (empty($_GET["element_7"])){ echo "<p style=\"color:red; font-size:17px\"><b>Musisz wybrać kategorię z listy aby wyświetlić artykuły !</b></p>";} else{ // to poniżej jeżeli użytkownik wcisnął wcześniej submit i wybrał kategorię wyświetla artykuły z wybranej z listy kategorii po 2 na stronie, jak ich więcej ogółem to je stronicuje $wybor = isset($_GET['element_7']) && !empty($_GET['element_7']) ? $_GET['element_7'] : ''; @mysql_query("SET NAMES 'utf8';"); if(isset($_GET['page'])) $subpage = $_GET['page']; else $subpage = ''; $perPage = 2; if (!empty($_GET['subpage']) && (is_numeric($_GET['subpage']))) { $subpage = (int) $_GET['subpage']; } if ($subpage < 1) { $subpage = 1; } @mysql_query("SET NAMES 'utf8';"); $start = ($subpage - 1) * $perPage; $zapytanie = "SELECT * FROM `artykuły` WHERE kategoria='".$wybor."' ORDER BY `DATA` DESC LIMIT ".$start.", ".$perPage.""; $idzapytania = @mysql_query($zapytanie); $max_zapytanie = "SELECT * FROM `artykuły` WHERE kategoria='".$wybor."' "; // żeby się pozbyć głupiego limitu [ustalamy max stron] $max_idzapytania = mysql_query($max_zapytanie); if(mysql_real_escape_string((!isset($_GET['id'])) or empty($_GET['id']))) { while ($wiersz = @mysql_fetch_array($idzapytania)) { //tutaj to tylko " śmieci" tzn. część odpowiedzialna za to jak się wyświetlają te artykuły;) $id=$wiersz['id']; echo "<table border=\"0px\" width=\"770px\" background=\"nawigacja/b2.jpg\">"; echo "<img src=\"top.png\">"; echo "<tr><td width=\"700px\" background=\"nawigacja/b1.jpg\"><p title=\"Nagłówek\"><u>".$wiersz['tresc']."</u></p></td> <td><form> <input type=\"button\" onclick=\"usunWpis($id)\" value=\"Usuń\" /> </form> </td> <td><a href=\"edytuj_artykul.php?id=$id\"><img src=\"nawigacja/ed.png\" title=\"Edytuj\" align=\"middle\"></a></td></tr>"; echo "</table>"; echo "<table border=\"0px\" width=\"770px\" background=\"nawigacja/b2.jpg\">"; echo "<tr><td background=\"nawigacja/b1.jpg\"><p title=\"Treść - aby edytować kliknij przycisk w prawym górnym rogu ramki\"> <i>".$wiersz['tresc']."</i><br /><br /></td></tr>"; echo "</table>"; echo "<table border=\"0px\" width=\"770px\" background=\"nawigacja/b2.jpg\">"; echo "<tr><td background=\"nawigacja/b1.jpg\"><p title=\"ID newsa\"><b>ID:</b> ".$wiersz['id']."</p></td> <td align=\"right\" background=\"nawigacja/b1.jpg\"> <p title=\"data dodania\">".$wiersz['data']."</p></td></tr>"; echo "</table>"; echo " <img src=\"bottom.png\">"; echo "<br />"; echo "<br />"; } } //ciąg dalszy stronicowania poniżej: $prev = $subpage - 1; $next = $subpage + 1; $prevLink = 'przegladaj_artykuly.php?page='.$prev; $nextLink = 'przegladaj_artykuly.php?page='.$next; $ilosc_wierszy = mysql_num_rows($max_idzapytania); if($subpage > 1) echo'<center><a style="text-decoration: none;" href="'.$prevLink.'">Poprzednia strona</a></center> '; $stron=round($ilosc_wierszy/$perPage); echo "<div align=\"center\">"; for($i=1; $i<=$stron; ++$i) { if($i==$subpage) echo $i; else echo '<a style="text-decoration: none;" href="przegladaj_artykuly.php?page='.$i.'">'.$i.' </a>'; } if($subpage < $stron) echo ' <a style="text-decoration: none;" href="'.$nextLink.'">Następna strona</a>'; echo "<br /><a href=\"admin.php\"><img src=\"nawigacja/home.jpg\"></a>"; echo "</div>"; mysql_close();}} ?> Ten post edytował czarnaowca777 17.03.2012, 19:21:47 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 25 Dołączył: 29.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
niech stracę podam ci moje stronnicowanie
define('MAXPAGE', 25); oznacza ile zapytań ma się znaleśc na jednej stronie sobie to zmień bo to jest z mojej strony po prostu na tej samej stronie wyświetla ci to co chcesz tylko na samym końcu jest &page= czyli ktura strona i daj pomógł Ten post edytował Ruch Radzionków 17.03.2012, 19:34:48 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kod <input type="submit" value="'.$lang[pierwszastronakatalog].'"></a> <a href="przegladaj_artykuly.php?event=users&page='.$poprzedniastrona.'"> Czy mógłbyś mi powiedzieć jak działa to event=users&page? Ja jestem jeszcze średnio oświeconym człowiekiem w tym temacie więc jak już kopiuję prawie gotowca to chociaż czegoś się nauczyć bym chciała przy tym (IMG:style_emoticons/default/wink.gif) No i ciągle mi wywala że : Use of undefined constant page - assumed 'page' in (...) i Undefined index: page in (...) oraz Use of undefined constant stronakatalog - assumed 'stronakatalog' in (...) - nie bardzo rozumiem mam to czymś zastąpić to "stonakatalog" - co to robi ? tam ma być ścieżka do czegoś? do page dodałam apostrofy i mu przeszło ale za to się czepia Undefined variable: lang aha i tak z innej beki trochę mój link wygląda tak : przegladaj_artykuly.php?element_7=nazwakategorii&submit=Ok Przy czym element_7 to jest pobrana z listy kategoria... nie wiem - tak ma być? ty miałeś tam users ale moja baza to "artykuły" więc zamieniłam analogicznie i wyszły takie klocki. Ten post edytował czarnaowca777 17.03.2012, 20:48:54 |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 25 Dołączył: 29.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
to jest link nie muszisz miec event=user tylko tam zastepujesz to swoim linkiem tak jak masz na php.pl taki link:
index.php?showtopic=195401 to muszisz to zmienic na swoj link jaki jest otwarty ta strona |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
a co z tym lang - Undefined variable: lang
Gdzie to zdefiniować i jako co? Kod echo $lang['stronakatalog']; echo $strona; echo $lang['zkatalog']; echo $total; if($strona == $total) { } else { echo'<a href="przegladaj_artykuly.php?&page="'.$nastepnastrona.'"><input type="submit" value="'.$lang['nastepnastronakatalog'].'"></a <a href="przegladaj_artykuly.php?&page='.$total.'"><input type="submit" value="'.$lang['ostatniastronakatalog'].'"></a>'; |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 25 Dołączył: 29.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kod @mysql_query("SET NAMES 'utf8';"); define('MAXPAGE', 1); $pok = mysql_query("SELECT COUNT(*) FROM users ORDER BY id"); list($max) = mysql_fetch_row($pok); $total = ceil($max / MAXPAGE); $page = intval(@$_GET["page"]); if(0 == $page) { $page = 1; } $start = MAXPAGE * ($page - 1); $full = MAXPAGE; $obej = mysql_query("SELECT * FROM users ORDER BY id limit $start, $full"); while(list($id, $login, $haslo, $mail, $status, $langs, $data, $admin, $oficjalne) = mysql_fetch_row($obej)) { echo "$id <br/>"; echo "$login <br/>"; echo "$haslo <br/>"; } if($_GET['page'] == '') { $strona = '1'; } else { $strona = $_GET['page']; } $poprzedniastrona = $_GET['page'] - 1; if($_GET['page'] == '') { $nastepnastrona = '2'; } else { $nastepnastrona = $_GET['page'] + 1; } echo'</table>'; if($total == '0') { } else { echo'<table align="center"> <tr> <td>'; if(($_GET['page'] == '1') || ($_GET['page'] == '')) { } else { echo'<a href="test.php?event=users&page=1"><input type="submit" value="'.$lang[pierwszastronakatalog].'"> </a><a href="test.php?event=users&page='.$poprzedniastrona.'"><input type="submit" value="'.$lang[poprzedniastronakatalog].'"></a>'; } echo'Strona'; echo $strona; echo ' z '; echo $total; echo "</br"; if($strona == $total) { } else { echo'<a href="test.php?event=users&page='.$nastepnastrona.'"><input type="submit" value="'.$lang[nastepnastronakatalog].'"></a> <a href="test.php?event=users&page='.$total.'"><input type="submit" value="'.$lang[ostatniastronakatalog].'"></a>'; } echo'</td> </tr> </table>'; } ?> A więc mam coś takiego, Notice: Undefined index: page in C:\...\test.php on line 33 Notice: Undefined index: page in C:...\test.php on line 41 Notice: Undefined index: page in C:\...\test.php on line 42 Notice: Undefined index: page in C:\...\test.php on line 60 Notice: Use of undefined constant nastepnastronakatalog - assumed 'nastepnastronakatalog' in C:\...\test.php on line 76 Notice: Undefined variable: lang in C:\...\test.php on line 76 Notice: Use of undefined constant ostatniastronakatalog - assumed 'ostatniastronakatalog' in C:\...\test.php on line 77 Notice: Undefined variable: lang in C:\...\test.php on line 77 Nie bardzo ogarniam te błędy, bo mając 4 rekordy w testowej bazie users i rozmieszczając je po 1 na stronie mam taki efekt, że kliknięcie przycisku następna strona od razu przenosi do ostatniej bedąc na ostatniej klikam wstecz i jestem na stronie 1 Gdy jestem na 4 klikam następną i jestem na str 3 a tam z dwóch robią się 4 przyciski... value na przyciskach nie działa. Czy tobie to działa poprawnie? bo poza tą wskazówką i dodaniem do page apostrofów bo wywalało błąd to nic nie zmieniałam No i jeszcze to mówiłeś że to będzie jakby na jednej stronie tak, bez odświerzania jeśli dobrze rozumiem a tu też jest page1, page2 itd - jak to ma działać ? To mi zadziała z listą o której wcześniej pisałam? Czym to się różni zasadniczo od mojego stronicowania? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 311 Pomógł: 25 Dołączył: 29.08.2011 Ostrzeżenie: (0%) ![]() ![]() |
mój kod działa w 100% to po 1 a po 2 pokaz cały kod bo nie wiem w jakiej linijce co się znajduje
|
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 17.03.2012 Ostrzeżenie: (0%) ![]() ![]() |
Kod <?php $adres_ip_serwera_mysql_z_baza_danych = '127.0.0.1'; $nazwa_bazy_danych = 'nazwa'; $login_bazy_danych = ''; $haslo_bazy_danych = ''; if ( !mysql_connect($adres_ip_serwera_mysql_z_baza_danych,$login_bazy_danych,$haslo_bazy_danych) ) { echo 'Nie moge polaczyc sie z baza danych'; exit (0); } if ( !mysql_select_db($nazwa_bazy_danych) ) { echo 'Blad otwarcia bazy danych'; exit (0); } @mysql_query("SET NAMES 'utf8';"); define('MAXPAGE', 1); $pok = mysql_query("SELECT COUNT(*) FROM users ORDER BY id"); list($max) = mysql_fetch_row($pok); $total = ceil($max / MAXPAGE); $page = intval(@$_GET["page"]); if(0 == $page) { $page = 1; } $start = MAXPAGE * ($page - 1); $full = MAXPAGE; $obej = mysql_query("SELECT * FROM users ORDER BY id limit $start, $full"); while(list($id, $login, $haslo, $mail, $status, $langs, $data, $admin, $oficjalne) = mysql_fetch_row($obej)) { echo "$id <br/>"; echo "$login <br/>"; echo "$haslo <br/>"; } if($_GET['page'] == '') { $strona = '1'; } else { $strona = $_GET['page']; } $poprzedniastrona = $_GET['page'] - 1; if($_GET['page'] == '') { $nastepnastrona = '2'; } else { $nastepnastrona = $_GET['page'] + 1; } echo'</table>'; if($total == '0') { } else { echo'<table align="center"> <tr> <td>'; if(($_GET['page'] == '1') || ($_GET['page'] == '')) { } else { echo'<a href="test.php?event=users&page=1"><input type="submit" value="'.$lang[pierwszastronakatalog].'"> </a><a href="test.php?event=users&page='.$poprzedniastrona.'"><input type="submit" value="'.$lang[poprzedniastronakatalog].'"></a>'; } echo'Strona'; echo $strona; echo ' z '; echo $total; echo "</br"; if($strona == $total) { } else { echo'<a href="test.php?event=users&page='.$nastepnastrona.'"><input type="submit" value="'.$lang[nastepnastronakatalog].'"></a> <a href="test.php?event=users&page='.$total.'"><input type="submit" value="'.$lang[ostatniastronakatalog].'"></a>'; } echo'</td> </tr> </table>'; } ?> i to są błędy od razu na test.php a nie te co wywala na kliknięciu dalej czy poprzednia: Notice: Undefined index: page in C:\\test.php on line 33 Notice: Undefined index: page in C:\\test.php on line 41 Notice: Undefined index: page in C:\\test.php on line 42 Notice: Undefined index: page in C:\\test.php on line 60 Notice: Undefined index: page in C:\\test.php on line 60 Strona1 z 4 Notice: Use of undefined constant nastepnastronakatalog - assumed 'nastepnastronakatalog' in C:\\test.php on line 76 Notice: Undefined variable: lang in C:\\test.php on line 76 Notice: Use of undefined constant ostatniastronakatalog - assumed 'ostatniastronakatalog' in C:\\test.php on line 77 Notice: Undefined variable: lang in C:\\test.php on line 77 Ten post edytował czarnaowca777 18.03.2012, 18:24:58 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 18:18 |