Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: BAZA MYSQL I JSON
Forum PHP.pl > Forum > Bazy danych > MySQL
Skorpiono
zastanawialem sie jak to napisac i wiem.
Chodzi mi o to ze mam do przerobienia stronke ktora wyswietla liste projektow. Problem jest taki ze szablon wyswietla liste z pliku JSON.
Moglbym zrobic aby pobierac za kazdym razem pobierac na nowa cala baze do pliku. Ale to zabierze duza moc procesorofi serwera i moze pierdyknac. Wiec chcialbym to jakos uproscic. Jak przerobic moj skrypt i Polaczyc PHPi Java script tak aby przeniesc wyniki z zapytania mysql DO pliku JSON? Albo od razu array? Tak aby nie bawic sie w konwertowanie i takie inne. ktos mi to ladnie wytlusci?

  1.  
  2. <script type="text/javascript">
  3.  
  4. $(document).ready(function() {
  5.  
  6. /* Formatting function for row details - modify as you need */
  7. function format ( d ) {
  8. // `d` is the original data object for the row
  9. return '<table cellpadding="5" cellspacing="0" border="0" class="table table-hover table-condensed">'+
  10. '<tr>'+
  11. '<td style="width:100px">Project Title:</td>'+
  12. '<td>'+d.name+'</td>'+
  13. '</tr>'+
  14. '<tr>'+
  15. '<td>Deadline:</td>'+
  16. '<td>'+d.ends+'</td>'+
  17. '</tr>'+
  18. '<tr>'+
  19. '<td>Extra info:</td>'+
  20. '<td>And any further details here (images etc)...</td>'+
  21. '</tr>'+
  22. '<tr>'+
  23. '<td>Comments:</td>'+
  24. '<td>'+d.comments+'</td>'+
  25. '</tr>'+
  26. '<tr>'+
  27. '<td>Action:</td>'+
  28. '<td>'+d.action+'</td>'+
  29. '</tr>'+
  30. '</table>';
  31. }
  32.  
  33. // clears the variable if left blank
  34. var table = $('#example').DataTable( {
  35. "sDom": "<'dt-toolbar'<'col-xs-12 col-sm-6'f><'col-sm-6 col-xs-12 hidden-xs'l>r>"+
  36. "t"+
  37. "<'dt-toolbar-footer'<'col-sm-6 col-xs-12 hidden-xs'i><'col-xs-12 col-sm-6'p>>",
  38. "ajax": "data/dataList.json",
  39. "bDestroy": true,
  40. "iDisplayLength": 15,
  41. "oLanguage": {
  42. "sSearch": '<span class="input-group-addon"><i class="glyphicon glyphicon-search"></i></span>'
  43. },
  44. "columns": [
  45. {
  46. "class": 'details-control',
  47. "orderable": false,
  48. "data": null,
  49. "defaultContent": ''
  50. },
  51. { "data": "name" },
  52. { "data": "est" },
  53. { "data": "contacts" },
  54. { "data": "status" },
  55. { "data": "target-actual" },
  56. { "data": "starts" },
  57. { "data": "ends" },
  58. { "data": "tracker" },
  59. ],
  60. "order": [[1, 'asc']],
  61. "fnDrawCallback": function( oSettings ) {
  62. runAllCharts()
  63. }
  64. } );
  65.  
  66.  
  67.  
  68. // Add event listener for opening and closing details
  69. $('#example tbody').on('click', 'td.details-control', function () {
  70. var tr = $(this).closest('tr');
  71. var row = table.row( tr );
  72.  
  73. if ( row.child.isShown() ) {
  74. // This row is already open - close it
  75. row.child.hide();
  76. tr.removeClass('shown');
  77. }
  78. else {
  79. // Open this row
  80. row.child( format(row.data()) ).show();
  81. tr.addClass('shown');
  82. }
  83. });
  84.  
  85. })
  86.  
  87. </script>


nospor
1)
Z kodu co pokazales nigdzie nie wynika ze pobierasz dane z fizycznego pliku JSON

2)
Obecnie to standard, ze w js operujesz na danych JSON, ktore notabene pobierane sa z bazy i jakos serwery dzialaja

3)
Cytat
Moglbym zrobic aby pobierac za kazdym razem pobierac na nowa cala baze do pliku.
NIkt nie generuje calej bazy do JSON. Na JSON zamienia sie jedynie wybrany wycinek danych, ktory w danym momencie jest potrzebny. Przeciez nikt nie bedzie wyswietlal na raz 100 tysiecy produktow, no nie?
Skorpiono
wynika po prostu tego nie widziales
"ajax": "data/dataList.json",

a skad wziac logike to JS slyszalem ze sa jakies frameworki ktore to robia?
nospor
Faktycznie przeoczylem.

Ale to tylko przyklad. Nikt ci nie kaze fizycznie tego pliku json generowac. Tam rownie dobrze moze byc link do skryptu php, ktory wlasnie wypluje zawartosc JSON dla danych, ktore wlasnie potrzebujesz - tak sie robi
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.