Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Formularz - Filtrowanie - Paginacja, Problem z ładowaniem filtrów
Kubik93
post 20.12.2019, 10:55:54
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.12.2019

Ostrzeżenie: (0%)
-----


Cześć Mirki!

Od jakiegoś czasu uczę się PhP i SQL.

Mam tablice z rekordami z bazy SQL. Zrobiłem filtrowanie wyników w Formie. Daje zapytanie do SQL i zwraca mi rekordy na podstawie Filtrowania.
I tutaj wszystko w sumie działa smile.gif

Jest sporo wyników więc pomyślałem sobie, zdecydowanie potrzebna jest paginacja. I w sumie nawet paginacja działa ale jest jeden mankament.

w momencie gdy wchodzę w kolejną stronę paginacji ?page=2 to cały filtr się zeruje i wracamy do strony startowej listy z tym, że adres się faktycznie zmienia.
I dopiero teraz jak ustawie wartości filtrowania i klepne submit od filtu do wbija na faktyczną 2 stronę paginacji.

Myślę, że muszę połączyć stronnicowanie z filtrem aczkolwiek nie za bardzo wiem jak się do tego zabrać.

PS. Sesja jest aktywna.

ktoś coś Mireczki?
Go to the top of the page
+Quote Post
nospor
post 20.12.2019, 11:08:28
Post #2





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




1) Albo slij paginacje jako czesc forma
2) Albo do paginacji w url dodawaj to co bylo wyszukiwane
3) Albo zapisuj co jest szukane w sesji


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Kubik93
post 20.12.2019, 11:27:36
Post #3





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.12.2019

Ostrzeżenie: (0%)
-----


Wstawiać 270 linijek kodu smile.gif ?

  1. <input type="submit" name="submit" value="Filtruj" class="filter-button"/>


  1. if( $page > 4 ) {
  2. echo '<a href="list.php?page=1"> < pierwsza strona </a> | ';
  3. }
  4. for( $i = 1; $i <= $allPage; $i++ ) {
  5. $bold = ( $i == ( $page + 1 ) ) ? 'style="font-size: 24px;"' : '';
  6. if( t1( $i, ( $page -3 ), ( $page + 5 ) ) ) {
  7. echo '<a ' . $bold . ' href="list.php?page=' . $i . '">' . $i . '</a> | ';
  8. }
  9. }
  10. if( $page < ( $allPage - 1 ) ) {
  11. echo '<a href="list.php?page=' . $allPage . '">ostatnia strona ></a> | ';
  12. }
  13. exit();


Mam czarną plamę przed oczami. Może dlatego, że od 2 dni przy tym siedzę wink.gif

1. musiałbym złapać tablice z rekordami w formie z filtrem ? nie wiem pytam
2. do urla dodawałem name submita - nie działa sad.gif
3. dane są zapisywane w sesji i problem w tym, że się resetują

Ten post edytował Kubik93 20.12.2019, 11:31:30
Go to the top of the page
+Quote Post
nospor
post 20.12.2019, 12:09:32
Post #4





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




ad1) Jakie rekordy? Paginacje, tak
ad2) No ale czemu submit dodajesz? Pole wyszukiwania masz dodac a nie submit
ad3) Widocznie cos skiepsciles. A moze poprostu czyscisz sesji po wyslaniu url bez danych forma. Bez kodu nie wywroze


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Kubik93
post 20.12.2019, 12:26:26
Post #5





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.12.2019

Ostrzeżenie: (0%)
-----


Zapewne oczy będą boleć aczkolwiek coś z tym trzeba zrobić smile.gif

  1. <?php
  2. if(!isset($_SESSION['logged']))
  3. {
  4. header('Location: ../login.php');
  5. exit();
  6. }
  7. ?>
  8.  
  9. <?php
  10. $cbc = 0;
  11. if(isset($_POST['submit']))
  12. {
  13. $country = $_POST['country'];
  14. }
  15.  
  16. ?>
  17. <!DOCTYPE HTML>
  18. <html>
  19. <head>
  20. <meta charset="utf-8">
  21. <meta name="description" content="Opis zawartości strony">
  22. <meta name="keywords" content="słowa kluczowe dla wyszukiwarek">
  23. <meta name="author" content="Imię i nazwisko autora strony">
  24. <link rel="shortcut icon" href="icona.png">
  25. <link rel="Stylesheet" href="../styl.css">
  26. <link rel="Stylesheet" href="workcss/style-list.css">
  27. </head>
  28. <body>
  29. <div class="box">
  30. <div class="head">
  31. <div class="menu">
  32. <nav class="site-nav">
  33. <button class="hamburger side-menu-trigger"></button>
  34. <aside class="side-menu">
  35. <div class="arrow"> </div>
  36. <ul>
  37. <span class="title-menu">Menu</span>
  38. <hr class="hr-menu">
  39. <li><a href="#">Moje konto</a></li>
  40. <li><a href="#">Ustawienia</a></li>
  41. <li><a href="#">Regulain</a></li>
  42. <hr class="hr-menu">
  43. <li><a href="../logout.php">Wyloguj</a></li>
  44. </ul>
  45. </aside>
  46. </nav>
  47. </div>
  48. <a href="main.php"><div class="option addcompany"><span class="icon"><img src="../icons/house.png"></span>Strona główna</div></a>
  49. <a href="addcompany.php"><div class="option addcompany"><span class="icon"><img src="../icons/add-file.png"></span>Dodaj firme</div></a>
  50. <a href="list.php"><div class="option tolist"><span class="icon"><img src="../icons/note.png"></span>Lista</div></a>
  51. <div class="option logo">Lead organizer</div>
  52. </div>
  53. <div class="filter">
  54. <form method="post" autocomplete="off">
  55. <div class="selectcountry">
  56. <select id="country" name="country" class="select-list">
  57. <?php if(isset($_POST['submit'])){{echo '<option selected="'.$country.'">'.$country.'</option>';}}?>
  58. <option>PL</option>
  59. <option>DE</option>
  60. <option>AT</option>
  61. <option>NL</option>
  62. <option>BE</option>
  63. </select><br />
  64. </div>
  65.  
  66. <input type="checkbox" class="toggle" id="list-toggle1" /><label for="list-toggle1" class="containerx">Transport type</label>
  67. <div>
  68. <?php
  69. if (isset($_POST['cb1'])){$cbc1 = 'checked';}else{$cbc1= '';}
  70. if (isset($_POST['cb2'])){$cbc2 = 'checked';}else{$cbc2= '';}
  71. if (isset($_POST['cb3'])){$cbc3 = 'checked';}else{$cbc3= '';}
  72. if (isset($_POST['cb4'])){$cbc4 = 'checked';}else{$cbc4= '';}
  73. if (isset($_POST['cb5'])){$cbc5 = 'checked';}else{$cbc5= '';}
  74. echo<<<END
  75. <label class="container label">Standard
  76. <input type="checkbox" name="cb1" $cbc1/>
  77. <span class="checkmark"></span>
  78. </label>
  79.  
  80. <label class="container label">Mega
  81. <input type="checkbox" name="cb2" $cbc2/>
  82. <span class="checkmark"></span>
  83. </label>
  84.  
  85. <label class="container label">Jumbo
  86. <input type="checkbox" name="cb3" $cbc3/>
  87. <span class="checkmark"></span>
  88. </label>
  89.  
  90. <label class="container label">Frigo
  91. <input type="checkbox" name="cb4" $cbc4/>
  92. <span class="checkmark"></span>
  93. </label>
  94. <label class="container label">Bus
  95. <input type="checkbox" name="cb5" $cbc5/>
  96. <span class="checkmark"></span>
  97. </label>
  98. END;
  99. ?>
  100. </div>
  101. <input type="submit" name="submit" value="Filter" class="filterbutton"/>
  102.  
  103. </form>
  104. </div>
  105. <div class="main-list">
  106.  
  107. <?php
  108. function t1($val, $min, $max) {
  109. return ($val >= $min && $val <= $max);
  110. }
  111. ini_set("display_errors", 0);
  112. require_once "dbcc.php";
  113. $polaczenie = mysqli_connect($host, $db_user, $db_password);
  114. mysqli_query($polaczenie, "SET CHARSET utf8");
  115. mysqli_query($polaczenie, "SET NAMES 'utf8' COLLATE 'utf8_polish_ci'");
  116. mysqli_select_db($polaczenie, $db_clients);
  117.  
  118.  
  119. if(isset($_POST['submit']))
  120. {
  121. if ((isset($_POST['cb1']))||(isset($_POST['cb2']))||(isset($_POST['cb3']))||(isset($_POST['cb4']))||(isset($_POST['cb5'])))
  122. {
  123. $where = 'WHERE';
  124. }
  125.  
  126. if (isset($_POST['cb1']))
  127. {$sattela="sattel='Standard'";}
  128. if (isset($_POST['cb2']))
  129. {$sattelb="sattel='Mega'";}
  130. if (isset($_POST['cb3']))
  131. {$sattelc="sattel='Jumbo'";}
  132. if (isset($_POST['cb4']))
  133. {$satteld="sattel='Frigo'";}
  134. if (isset($_POST['cb5']))
  135. {$sattele="sattel='Bus'";}
  136.  
  137.  
  138. if(isset($_POST['cb1'])&&(isset($_POST['cb2'])||isset($_POST['cb3'])||isset($_POST['cb4'])||isset($_POST['cb5'])))
  139. {$or1="OR";}
  140. if(isset($_POST['cb2'])&&(isset($_POST['cb3'])||isset($_POST['cb4'])||isset($_POST['cb5'])))
  141. {$or2="OR";}
  142. if(isset($_POST['cb3'])&&(isset($_POST['cb4'])||isset($_POST['cb5'])))
  143. {$or3="OR";}
  144. if(isset($_POST['cb4'])&&isset($_POST['cb5']))
  145. {$or4="OR";}
  146.  
  147. if (strstr($_POST['coutry'],'Select'))
  148. {
  149. $country='pl';
  150. }
  151. else
  152. {$findcountry = "SELECT*FROM client$country";}
  153. /*******************************************/
  154. $sqlII = "$findcountry $where $sattela $or1 $sattelb $or2 $sattelc $or3 $satteld $or4 $sattele";
  155. $rezultatII = mysqli_query($polaczenie, $sqlII);
  156. $count = mysqli_num_rows($rezultatII);
  157. $page = isset( $_GET['page'] ) ? intval( $_GET['page'] - 1 ) : 0;
  158. $limit = 2;
  159. $from = $page * $limit;
  160. $allPage = ceil( $count / $limit );
  161. /*******************************************/
  162. $sql = "$findcountry $where $sattela $or1 $sattelb $or2 $sattelc $or3 $satteld $or4 $sattele LIMIT " . $from . ', ' . $limit;
  163. }
  164. else
  165. {
  166. $sql = 'SELECT*FROM clientpl';
  167. }
  168.  
  169.  
  170. $rezultat = mysqli_query($polaczenie, $sql);
  171. $ile = mysqli_num_rows($rezultat);
  172.  
  173. if ($ile>=1)
  174. {
  175. echo<<<END
  176. <div class="result">Wyników wyszukiwania: $ile </div>
  177. END;
  178. }
  179.  
  180. /*******************************************/
  181. echo 'PAGE: ' . $page . '<br>';
  182. echo 'COUNT: ' . $count . '<br>';
  183. echo 'LIMIT: ' . $limit . '<br>';
  184. echo 'FROM: ' . $from . '<br>';
  185. echo 'ALL PAGE: ' . $allPage . '<br>';
  186. echo 'SQL: ' . $sql . '<br>';
  187. /*******************************************/
  188.  
  189.  
  190. for ($i = 1; $i <= $ile; $i++)
  191. {
  192. $row = mysqli_fetch_assoc($rezultat);
  193.  
  194. if ($row['person']=$row['person'])
  195. {
  196. $row['person']=$row['person'];
  197. }
  198. else
  199. {
  200. $row['person']='Brak';
  201. }
  202. if ($row['phone']=$row['phone'])
  203. {
  204. $row['phone']=$row['phone'];
  205. }
  206. else
  207. {
  208. $row['phone']='Brak';
  209. }
  210. if ($row['email']=$row['email'])
  211. {
  212. $row['email']=$row['email'];
  213. }
  214. else
  215. {
  216. $row['email']='Brak';
  217. }
  218.  
  219. $a1 = $row['cname'];
  220. $a2 = $row['country'];
  221. $a3 = $row['postcode'];
  222. $a4 = $row['city'];
  223. $a5 = $row['adress'];
  224. $a6 = $row['sattel'];
  225. $a7 = $row['person'];
  226. $a8 = $row['phone'];
  227. $a9 = $row['email'];
  228. $a10 = $row['fromday'];
  229. $a11 = $row['today'];
  230. $a12 = $row['fromhour'];
  231. $a13 = $row['tohour'];
  232. $a14 = $row['webadress'];
  233.  
  234. echo<<<END
  235. <div class="date-list-div-global">
  236. <div class="date-list-div-top">$a1<span class="date-list-span">costam</span></div>
  237. <div class="date-list-div-main">$a2 $a3 $a4, $a5<span class="date-list-span">od $a10 do $a11 od $a12 do $a13</span><br /><br />
  238. <b>Preferowany transport:</b>&nbsp;$a6<br /><br />
  239. <b>Dane kontaktowe</b><br />
  240. <img src="../icons/user.png"/>&nbsp;$a7<br />
  241. <img src="../icons/phone.png"/> $a8&nbsp;&nbsp;&nbsp;<img src="../icons/email.png"/>&nbsp;&nbsp;$a9<span class="date-list-span">$a14</span></div>
  242. </div>
  243. END;
  244.  
  245. }
  246.  
  247. if( $page > 4 ) {
  248. echo '<a href="list.php?page=1"> < pierwsza strona </a> | ';
  249. }
  250. for( $i = 1; $i <= $allPage; $i++ ) {
  251. $bold = ( $i == ( $page + 1 ) ) ? 'style="font-size: 24px;"' : '';
  252. if( t1( $i, ( $page -3 ), ( $page + 5 ) ) ) {
  253. echo '<a ' . $bold . ' href="list.php?page=' . $i . '">' . $i . '</a> | ';
  254. }
  255. }
  256. if( $page < ( $allPage - 1 ) ) {
  257. echo '<a href="list.php?page=' . $allPage . '">Ostatnia</a> | ';
  258. }
  259. exit();
  260.  
  261. ?>
  262. </div>
  263. </div>
  264. </body>
  265.  
  266. </html>



Taki mój prywatny bajzel wink.gif
Go to the top of the page
+Quote Post
nospor
post 20.12.2019, 12:39:08
Post #6





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




No i gdzie w tym kodzie cokolwiek zapisujesz do sesji?

ps:
$a1 = $row['cname'];
$a2 = $row['country'];
$a3 = $row['postcode'];
$a4 = $row['city'];
$a5 = $row['adress'];
$a6 = $row['sattel'];
$a7 = $row['person'];
$a8 = $row['phone'];
$a9 = $row['email'];
$a10 = $row['fromday'];
$a11 = $row['today'];
$a12 = $row['fromhour'];
$a13 = $row['tohour'];
$a14 = $row['webadress'];

No nazewnictwo zmiennych poprostu "zajebiste".... Pomijajac ich nazwe to po grzyba w ogole cokolwiek walisz do zmiennych skoro to tylko wstawiasz do tekstu. ROwnie dobrze mozesz operowac w tekscie bezposrednio na $row

ps2:
No tutaj
if ($row['person']=$row['person'])
{
$row['person']=$row['person'];
}
to poprostu przeszedles samego siebie...

ps3: przenosze na przedszkole


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post
Kubik93
post 20.12.2019, 13:16:06
Post #7





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 20.12.2019

Ostrzeżenie: (0%)
-----


Hah, zdaje sobie sprawę z tego, że Gates się nie nazywam ale biggrin.gif
  1. ...
  2. $a4 = $row['city'];
  3. $a5 = $row['adress'];
  4. $a6 = $row['sattel'];
  5. $a7 = $row['person'];
  6. $a8 = $row['phone'];
  7. $a9 = $row['email'];
  8. ...


wklejanie do divów np:

  1. $row['city'];


wywala mi błędy tongue.gif a tak to ładnie śmiga. Idąc dalej.

  1. if ($row['person']=$row['person'])
  2. {
  3. $row['person']=$row['person'];
  4. }
  5. else
  6. {
  7. $row['person']='Brak';
  8. }


Tutaj gdy dawałem warunek

  1. if ($row['person']=''){$row['person']='Brak';}


Nie wyświetlało mi kompletnie nic. A tak to śmiga i działa. Nazewnictwo.. tak, mi też się za bardzo nie podoba smile.gif

Sprawdzę Sesje i dam znać !

Ten post edytował Kubik93 20.12.2019, 13:17:25
Go to the top of the page
+Quote Post
nospor
post 20.12.2019, 13:18:15
Post #8





Grupa: Moderatorzy
Postów: 36 556
Pomógł: 6314
Dołączył: 27.12.2004




Wywala bledy bo zle wklejasz tongue.gif
{$row['city']}

= - nie sluzy do porownania. To sluzy do ZAPISANIA
== - to jest porownanie. Ja wiem, ze zaczynasz dopiero, ale tym bardziej wpierw powiniens sie zapoznac co dana rzecz robi a nie strzelasz


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 28.04.2025 - 07:35