Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [AJAX][MySQL][PHP]jqGrid sortowanie polskich znaków
cent4
post
Post #1





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


Witam.
Używam obsługi tabel z danych branych z bazy MySql i mam problem z sortowaniem polskich znaków.
Tzn. np. jak są rekordy w bazie: a, b, c, ą - to literkę ą mam na końcu - a powinna być po a.
Niestety sortowania poprzez zapytanie SQL nie mogę wykonać - bo ten skrypt pracuje na AJAX'sie i sortować można dowolną kolumnę poprzez naciśnięcie jej nagłówka.
Proszę pomóżcie...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
cent4
post
Post #2





Grupa: Zarejestrowani
Postów: 415
Pomógł: 0
Dołączył: 24.12.2008

Ostrzeżenie: (10%)
X----


Nie no - to to zajmie nawet parę sekund - cały szkopuł polega na tym, że trzeba wiedzieć co zmienić :-(

Dlaczego przy włączonym: loadonce:true, wszystko z filtrowaniem działa :-(? Wiem, że wtedy filtruje javascript, a nie mysql, ale jak to przestawić żeby filtrował mysql?

już mi ręce opadają :-(

Już na prawdę nie wiem co robić - proszę pomóżcie...

to mój html:
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  4. <title>jqGrid Demo</title>
  5. <link type="text/css" href="css/ui.jqgrid.css" rel="stylesheet" />
  6. <link type="text/css" href="css/jquery-ui-1.8.9.custom.css" rel="stylesheet" />
  7. <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
  8. <script type="text/javascript" src="js/jquery-ui-1.8.9.custom.min.js"></script>
  9. <script type="text/javascript" src="js/i18n/grid.locale-en.js"></script>
  10. <script type="text/javascript" src="js/jquery.jqGrid.min.js"></script>
  11.  
  12. <script type="text/javascript">
  13. jQuery('document').ready(function() {
  14. jQuery("#users").jqGrid({
  15. url:'example.php',
  16. datatype: "json",
  17. height: 255,
  18. width: 600,
  19. colNames:['ID','Name', 'Code','Opis'],
  20. colModel:[
  21. {name:'id',index:'id', width:65, sorttype:'int'},
  22. {name:'name',index:'name', width:150},
  23. {name:'code',index:'code', width:100},
  24. {name:'opis',index:'opis', width:100}
  25. ],
  26. rowNum:50,
  27. rowTotal: 2000,
  28. rowList : [20,30,50],
  29. //loadonce:true,
  30. mtype: "GET",
  31. rownumbers: true,
  32. rownumWidth: 40,
  33. gridview: true,
  34. pager: '#usersPage',
  35. sortinvid: 'id',
  36. viewrecords: true,
  37. sortorder: "asc",
  38. caption: "Toolbar Searching"
  39. });
  40. jQuery("#users").jqGrid('navGrid','#ptoolbar',{del:false,add:false,edit:false,search:false});
  41. jQuery("#users").jqGrid('filterToolbar',{stringResult: true,searchOnEnter : true});
  42. });
  43. </script>
  44.  
  45.  
  46. </head>
  47. <body>
  48. <script type="text/javascript" src="users.js"></script>
  49. <h2>jqGrid Example</h2>
  50. <!--Your grid will be diplayed here-->
  51. <table id="users"></table>
  52. <div id="usersPage"></div>
  53. <!--End of grid-->
  54. </center>
  55. </body>
  56. </html>


a to mój php:
  1. <?php
  2.  
  3. include("dbconfig.php");
  4. // initialization
  5.  
  6. $page = $_GET['page']; // get the requested page
  7. $limit = $_GET['rows']; // get how many rows we want to have into the grid
  8. $sidx = $_GET['sidx']; // get index row - i.e. user click to sort
  9. $sord = $_GET['sord']; // get the direction
  10. if(!$sidx) {
  11. $sidx = 1;
  12. }
  13.  
  14. $totalrows = isset($_GET['totalrows']) ? $_GET['totalrows']: false;
  15. if($totalrows) {
  16. $limit = $totalrows;
  17. }
  18. // connect to the database
  19. $db = mysql_connect($dbhost, $dbuser, $dbpassword) or die("Connection Error: " . mysql_error());
  20. mysql_select_db($database) or die("Database connection error.");
  21.  
  22. mysql_set_charset('utf8',$db);
  23.  
  24. // get the count of rows
  25. /*$result = mysql_query("SELECT COUNT(*) AS count FROM users");
  26. $row = mysql_fetch_array($result, MYSQL_ASSOC);
  27. $count = $row['count'];
  28. // get the required variables
  29. if( $count>0 ) {
  30. $total_pages = ceil($count / $limit);
  31. } else {
  32. $total_pages = 0;
  33. }
  34. if ($page> $total_pages) {
  35. $page = $total_pages;
  36. }
  37. */
  38. if ($limit <0) {
  39. $limit = 0;
  40. }
  41. $start = $limit * $page - $limit;
  42. if ($start <0) {
  43. $start = 0;
  44. }
  45. // get the actual stuff to be displayed in the grid
  46. $SQL = "SELECT * FROM users ORDER BY $sidx $sord LIMIT $start , $limit";
  47. $result = mysql_query($SQL) or die("Could not execute query." . mysql_error());
  48.  
  49.  
  50. // create a response array from the obtained result
  51. $response->page = $page;
  52. $response->total = $total_pages;
  53. $response->records = $count;
  54. $i = 0;
  55. while($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
  56. $response->rows[$i]['id'] = $row['id'];
  57. $response->rows[$i]['cell'] = array($row['id'],$row['name'],$row['code'],$row['opis']);
  58. $i++;
  59. }
  60. // convert the response into JSON representation
  61. echo json_encode($response);
  62. // close the database connection
  63.  
  64. ?>



I jak tam?
Ma ktoś jakiś pomysł?
Go to the top of the page
+Quote Post

Posty w temacie
- cent4   [AJAX][MySQL][PHP]jqGrid sortowanie polskich znaków   1.02.2011, 10:44:05
- - nospor   CytatNiestety sortowania poprzez zapytanie SQL nie...   1.02.2011, 10:48:01
- - cent4   No ok - tylko jak to zpiąć i gdzie szukać funkcji,...   1.02.2011, 10:55:01
- - nospor   Przecież na stronie jqGRID masz masę przykładów kt...   1.02.2011, 10:56:05
- - cent4   Czytam i przeglądam manuala już parę godzin i nie ...   1.02.2011, 14:35:34
- - nospor   Jesli ci mysql nie sortuje polskich znaków, znaczy...   1.02.2011, 18:03:22
- - cent4   Problem w tym nospor, że tak to jest ustawione...   1.02.2011, 22:42:13
- - nospor   Masz to gdzies wystawione? Bo mi się nie chce wier...   2.02.2011, 07:25:41
- - cent4   Dzięki uprzejmości znajomego podłączyłem to na: ht...   3.02.2011, 15:22:21
- - nospor   Jest tak jak mówiłem - przy sortowaniu w ogóle nie...   3.02.2011, 18:05:47
- - cent4   No ok, a tak jak to jest - przez sortowanie javasc...   3.02.2011, 21:57:23
- - nospor   Szczerze to nie wiem. Nie miałem potrzeby się nigd...   4.02.2011, 09:19:53
- - cent4   skoro robiłeś to w gridzie to może zdradzisz mi ja...   4.02.2011, 11:00:37
- - nospor   To miałeś cholerny niefart, bo wziąłeś akurat przy...   4.02.2011, 11:11:44
- - cent4   2 sprawy: 1. Dzięki wielkie - chyba już działa odp...   4.02.2011, 11:19:07
- - nospor   ąa pewnie dlatego, ze jednak nie masz collate utf-...   4.02.2011, 11:24:07
- - cent4   Jesteś geniuszem - poprawiłem poprzez PhpMyAdmin k...   4.02.2011, 11:37:49
- - nospor   Nie, poprostu ty nie czytasz co się do ciebie pisz...   4.02.2011, 11:47:22
- - cent4   Już śpieszę z wyjaśnieniami - jak działało mi to l...   4.02.2011, 11:49:50
- - nospor   Ok, wyjaśnienie przyjęte   4.02.2011, 11:51:54
- - cent4   OK :-). Cieszę się. A jakaś podpowiedź odnośnie wy...   4.02.2011, 11:56:47
- - nospor   Podpowiedź dostałeś w przedostatnim poście. No dob...   4.02.2011, 11:58:03
- - cent4   Czyli muszę szukać :-(. To trochę mi zajmie...   4.02.2011, 12:23:37
- - nospor   http://trirand.com/blog/jqgrid/jqgrid.html Znalezi...   4.02.2011, 12:30:21
- - cent4   Nie no - to to zajmie nawet parę sekund - cały szk...   9.02.2011, 10:30:01


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

 



RSS Aktualny czas: 29.12.2025 - 04:38