Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: checkboxy i blokowanie odświeżania
Forum PHP.pl > Forum > PHP
kbilski
Witam

Jakiej funkcji użyć aby po zaznaczeniu checkboxa (wykonanie skryptu) strona się przeładowała, pokazała wyniki ale pozostała w tej samej pozycji. Tak aby można było zaznaczyć kolejne checkboxy bez potrzeby scrolowania strony.
matino
Ajax?
kbilski
Pomoże mi ktoś to wstawić w kod?
Bo tak wstawione nie działa...

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  2. <html xmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <title>Wyszukiwarka Produktów</title>
  5. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  6. <meta name="language" content="pl" />
  7. <meta name="keywords" content="" />
  8. <meta name="description" content="" />
  9. <link href="style.css" rel="stylesheet" type="text/css" />
  10. <script>
  11. <!-- PopUp Link JavaScript Code Provided By: <a href="http://www.DesignerWiz.com" target="_blank">http://www.DesignerWiz.com</a> - Development Resource & JavaScript Public Archive Center -->
  12. function popUp(page,PWidth,PHeight,id) {
  13. eval("designerwiz"+id+"=window.open('"+page+"','designerwiz1','toolbar=1,scrollbars=1,location=1,status=1,menubars=1,resizable=0,width="+PWidth+",height="+PHeight+"')")
  14.  
  15. }
  16. </SCRIPT>
  17. <script type="text/javascript">
  18. function loadXMLDoc()
  19. {
  20. var xmlhttp;
  21. if (window.XMLHttpRequest)
  22. {// code for IE7+, Firefox, Chrome, Opera, Safari
  23. xmlhttp=new XMLHttpRequest();
  24. }
  25. else
  26. {// code for IE6, IE5
  27. xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  28. }
  29. xmlhttp.onreadystatechange=function()
  30. {
  31. if (xmlhttp.readyState==4 && xmlhttp.status==200)
  32. {
  33. document.getElementById("menu").innerHTML=xmlhttp.responseText;
  34. }
  35. }
  36. xmlhttp.open("GET","selector.php",true);
  37. xmlhttp.send();
  38. }
  39. </script>
  40. </head>
  41. <body>
  42. <div id="header"><img src="images/head.jpg"/></div>
  43. <div id="menu">
  44.  
  45.  
  46.  
  47.  
  48.  
  49. <?php
  50. ini_set('display_errors' , 'On');
  51. //require_once('debug.php');
  52.  
  53. $serwer = ""; // nazwa serwera mysql
  54. $login = ""; // login do bazy
  55. $haslo = ""; // haslo do bazy
  56. $baza = ""; // nazwa bazy
  57. $tabela = ""; // nazwa tabeli
  58.  
  59.  
  60.  
  61. mysql_connect($serwer, $login, $haslo) and mysql_select_db($baza);
  62.  
  63. function simpleCheckbox($name , $value , $label)
  64. {
  65. echo $label;
  66. ?>
  67. <input onchange="this.form.submit();" <?php echo (isset($_POST[$name]) && in_array($value , $_POST[$name]))? 'checked="checked"' : ''; ?> type="checkbox" name="<?php echo $name; ?>[]" value="<?php echo $value; ?>" />
  68. <?php
  69. }
  70.  
  71. function printFilters(array $data , array $columns)
  72. {
  73. echo '<div id="left"><table border="0" width="240">';
  74.  
  75.  
  76. foreach($columns as $column => $columnName)
  77. {
  78. if(count($data[$column]))
  79. {
  80. echo '<tr border=1 style="background-color: #8EC23C" align="left"><td>'.$columnName.'</td><td>';
  81.  
  82. foreach($data[$column] as $value => $label)
  83. simpleCheckbox($column , $value , $label);
  84. echo '</td></tr>';
  85. }
  86. }
  87. echo '</table></div>';
  88. }
  89.  
  90. function getFilters($table , array $columns)
  91. {
  92. $notNull = '`' . join('` IS NOT NULL OR`' , $columns) . '` IS NOT NULL';
  93. $groupBy = join(',' , $columns);
  94. $sql = 'SELECT DISTINCT `'.join('`,`' , $columns).'` FROM `'.$table.'` WHERE ' . $notNull . ' GROUP BY '.$groupBy;
  95. //echo $sql;
  96.  
  97. $result = mysql_query($sql);
  98. $return = array();
  99.  
  100. //debug(mysql_fetch_array($result)); debug(mysql_fetch_array($result)); debug(mysql_fetch_array($result)); exit();
  101.  
  102. while(($row = mysql_fetch_array($result , MYSQL_ASSOC)) != false)
  103. {
  104. reset($columns);
  105. while($column = current($columns))
  106. {
  107. if(!isset($return[$column]))
  108. $return[$column] = array();
  109.  
  110. if($row[$column] && !in_array($row[$column] , $return[$column]))
  111. $return[$column][$row[$column]] = $row[$column];
  112. next($columns);
  113. }
  114. }
  115. return $return;
  116. }
  117.  
  118. function secure($value)
  119. {
  120. return $value;
  121. }
  122.  
  123. function getRowset($table , array $columnsInTheTable)
  124. {
  125. $sql = 'SELECT * FROM `'.$table.'`';
  126. $where = ' WHERE ';
  127. $i = 0;
  128. while($column = current($columnsInTheTable))
  129. {
  130. $separator = ($where != ' WHERE ' ? ' AND ' : '');
  131. if(isset($_POST[$column]))
  132. {
  133. if(is_array($_POST[$column]))
  134. {
  135. while(list($key, $val) = each($_POST[$column]))
  136. {
  137. $_POST[$column][$key] = secure($val);
  138. }
  139.  
  140. $where .= $separator . '`' . $column . '`' . 'IN("' . join('","' , $_POST[$column]) . '")';
  141. } else
  142. {
  143. $where .= $separator . '`' . $column . '` = "'. secure($_POST['column']) . '"';
  144. }
  145. }
  146. next($columnsInTheTable);
  147. $i++;
  148. }
  149.  
  150. $sql .= ($where != ' WHERE ' ? $where : '');
  151.  
  152. //echo $sql;
  153.  
  154. $result = mysql_query($sql);
  155. $return = array();
  156. while($row = mysql_fetch_array($result , MYSQL_ASSOC))
  157. {
  158. $return[] = $row;
  159. }
  160. return $return;
  161. }
  162.  
  163. function printRowset(array $data , array $columns)
  164. {
  165. echo '<div id="right"><table border="0" frame="box" width="750">';
  166. echo '<tr>';
  167. foreach($columns as $name)
  168. {
  169. echo '<th style="background-color: #778899; ">'.$name.'</th>';
  170. }
  171. echo '</tr>';
  172.  
  173. foreach($data as $row)
  174. {
  175. echo '<tr style="background-color: #C0C0C0">';
  176. foreach($columns as $columnKey => $columnName)
  177. {
  178. echo '<td>'.$row[$columnKey].'</td>';
  179. }
  180. echo '</tr>';
  181. }
  182.  
  183. echo '</table></div><div id="footer"><font color="#ffffff">test</font></div>';
  184. }
toaspzoo
Cytat(matino @ 16.05.2011, 16:07:20 ) *
Ajax?


Java Script ?
kbilski
potrzebuje konkretnej pomocy żeby to zrobić..
wdev
Kod masz okropny, kompletnie nieczytelny. Wez zrob tam porzadek i moze wtedy komus sie bedzie chcialo w niego zaglebiac. Nie mowiac o tym, ze ten fragment najwyrazniej jest wybrakowany... Btw, zainteresuj sie frameworkiem JavaScript (np. jQuery), sa latwiejsze w obsludze niz czysty JS. Duzo. I jak nie dziala, to powiedz co nie dziala wink.gif A tak serio - gdzie jest formularz, w ktorym te checkobxy sa umieszczone ? AJAX musi byc wykonany wlasnie dla form.submit.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.