· 8 years ago · Aug 29, 2018, 01:08 AM
1function getfichauser() {
2 $('#ficha').DataTable({
3 "processing": true,
4 "serverSide": true,
5 "ajax": {
6 url: "../Logica/user/getficha.php",
7 "type": "GET",
8 "data": function (data) {
9 data.id = $('#nif').val();
10 },
11 },
12 "columns": [{
13 "data": "NOME"
14 }, {
15 "data": "MORADA"
16 }, {
17 "data": "LOCALIDADE"
18 }]
19 });
20};
21
22$query="SELECT * from USER where NIF=:NIF";
23 $db = new ligacao();
24 $conn = $db->open();
25 $stmt= $conn->prepare($query);
26 $stmt->bindParam(':NIF', $nif, PDO::PARAM_STR);
27 $stmt->execute();
28 $result = $stmt->fetchAll();
29
30 $table = array();
31 $rows = array();
32
33
34 foreach ($result as $row) {
35 $rows[]=$row;
36 }
37
38
39 echo "{ "data":".json_encode($rows). "}";
40
41<!DOCTYPE html>
42<html>
43 <head>
44 <meta charset="utf-8">
45 <title>DataTables - Exemplo com MySQLi + PHP</title>
46 <script type="text/javascript" src="https://code.jquery.com/jquery-1.11.3.min.js"></script>
47 <script type="text/javascript" src="https://cdn.datatables.net/1.10.9/js/jquery.dataTables.min.js"></script>
48 <link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.9/css/jquery.dataTables.min.css" />
49 </head>
50 <body>
51 <div id="">
52 <h1 style="text-align:center; font-family: Arial; font-weight:300;">DataTables - Exemplo com MySQLi + PHP </h1>
53 <section>
54 <table id="tabela" class="display" cellspacing="0" with="90%">
55 <thead>
56 <tr>
57 <td>Jogo</td>
58 <td>Console</td>
59 <td>Preço</td>
60 </tr>
61 </thead>
62
63 <tfoot>
64 <tr>
65 <td>Jogo</td>
66 <td>Console</td>
67 <td>Preço</td>
68 </tr>
69 </tfoot>
70 </table>
71 <script type="text/javascript">
72
73 $(document).ready(function() {
74 $('#tabela').DataTable({
75 "processing": true,
76 "serverSide": true,
77 "ajax": "Data.php"
78 });
79 } );
80
81 </script>
82 </section>
83 </div>
84 </body>
85</html>
86
87<?php
88// Criado por Parvez; Ou seja qual for o nome real dele
89// Exemplo tirado orignalmente de: http://phpflow.com/php/datatable-pagination-sorting-and-search-server-side-phpmysql-using-ajax/
90// Modificado por mim
91
92//Conexao
93// - example é o nome do banco de dados que usei
94$db = mysqli_connect("localhost", "root", "", "example");
95if(mysqli_connect_errno()){
96 die("Erro:".mysqli_connect_error()."(.". mysqli_connect_errno() .".)");
97}
98//var_dump($db);
99//------------------------
100
101//Variaveis Compostas
102$params = $colunas = $totalConsultas = $dados = array();
103//Variaveis Simples
104$where = $sql_total = $sql = "";
105//Variaveis HTTP
106$params = $_GET;
107//Indexes
108$colunas = array(0 => 'nome', 1 => 'console', 2 => 'preco');
109
110//Valor de Busca existe ?
111if(!empty($params['search']) && $params['search']['value'] !== ""){
112 $where = "WHERE ";
113$where .= "( nome LIKE '%{$params['search']['value']}%' ";
114 $where .= "OR console LIKE '%{$params['search']['value']}%' )";
115}
116
117//Total de Resultados Sem Valor de Busca
118$SQL = "SELECT nome, console, preco FROM jogos ";
119$sql_total .= $SQL;
120$sql .= $SQL;
121
122//Concatenar termo de busca se o valor existir
123if(isset($where) && $where !== ""){
124 $sql_total .= $where;
125 $sql .= $where;
126}
127
128//Ordenar e definir os LIMITES/OFFSETS
129$sql .= "ORDER BY {$colunas[$params['order'][0]['column']]} {$params['order'][0]['dir']} LIMIT {$params['start']}, {$params['length']}";
130
131//Obter o numero geral de consulta existentes para calcular o numero de páginas
132$query_total = mysqli_query($db, $sql_total) or die("Erro: Não foi possivel contar os resultados - ". mysqli_connect_error());
133$totalConsultas = mysqli_num_rows($query_total);
134
135//Obter o conjunto de consultas existentes
136$query_sql = mysqli_query($db, $sql) or die("Erro: Nenhum resultado encontrado - ". mysqli_connect_error());
137while($row = mysqli_fetch_row($query_sql)){
138 $dados[] = $row;
139}
140
141$formato_json = array(
142 "draw" => intval($params["draw"]),
143 "recordsTotal" => intval($totalConsultas),
144 "recordsFiltered"=> intval($totalConsultas),
145 "data" => $dados);
146
147echo json_encode($formato_json);
148
149?>
150
151--
152-- Estrutura da tabela `jogos`
153--
154
155CREATE TABLE IF NOT EXISTS `jogos` (
156 `id` int(11) NOT NULL AUTO_INCREMENT,
157 `nome` varchar(36) NOT NULL,
158 `console` varchar(16) NOT NULL,
159 `preco` decimal(6,2) NOT NULL,
160 PRIMARY KEY (`id`),
161 UNIQUE KEY `nome` (`nome`)
162) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
163
164--
165-- Extraindo dados da tabela `jogos`
166--
167
168INSERT INTO `jogos` (`id`, `nome`, `console`, `preco`) VALUES
169(1, 'Resident Evil - Retaliacao', 'XBOX 360', '3000.00'),
170(2, 'The Elders Scrolls - Skyrim', 'XBOX 360', '5000.00');
171
172$(document).ready(function() {
173 $('#tabela').DataTable({
174 "processing": true,
175 "serverSide": true,
176 "ajax": {
177 "url": "Data.php",
178 "data": function ( d ) {
179 d.myKey = "myValue";
180 // d.custom = $('#myInput').val();
181 // etc
182 }
183 }
184
185 });
186 } );
187
188http://
189 127.0.0.1/
190 projects/
191 Data.php?draw=1
192 &columns[0][data]=0
193 &columns[0][name]=
194 &columns[0][searchable]=true
195 &columns[0][orderable]=true
196 &columns[0][search][value]=
197 &columns[0][search][regex]=false
198 &columns[1][data]=1
199 &columns[1][name]=
200 &columns[1][searchable]=true
201 &columns[1][orderable]=true
202 &columns[1][search][value]=
203 &columns[1][search][regex]=false
204 &columns[2][data]=2
205 &columns[2][name]=
206 &columns[2][searchable]=true
207 &columns[2][orderable]=true
208 &columns[2][search][value]=
209 &columns[2][search][regex]=false
210 &order[0][column]=0
211 &order[0][dir]=asc
212 &start=0
213 &length=10
214 &search[value]=
215 &search[regex]=false
216 &myKey=myValue // Aqui, este campo dantes não existia.
217 &_=1441908981287
218
219php **`** $rows = array();
220 $table =array();
221 foreach ($result as $row) {
222 $rows[] = $row;
223 }
224 $table['data'] = $rows;
225 echo json_encode($table);
226
227$( "#pesquisa" ).on( "submit", function( event ) {
228 event.preventDefault();
229 var pesquisa = $("#pesquisa").serialize();
230 // var nif= document.getElementById('nif').value;
231
232 $.ajax({
233 type:"GET",
234 url:"../Logica/user/user.php",
235 dataType:'json',
236 data:pesquisa,
237
238 success: function(data){
239
240 $('#tomadores').dataTable({
241 "aaData": data.data,
242 "aoColumns": [
243 { "mData": "NUMERO" },
244 { "mData": "MORADA" },
245 { "mData": "LOCALIDADE" },
246 { "mData": "TELEFONE" }
247 ]
248
249
250 });
251
252 }
253 });
254
255 });
256 </script>** `
257
258$('#example').DataTable({
259 "ajax": "assets/controle/json.php?op=cliente_data_json",
260 "columns": [
261 { "data": "id" },
262 { "data": "nome" },
263 { "data": "razaosocial" },
264 { "data": "opcoes" }
265 ]
266}).ajax.reload(null, false);
267
268if (isset($_REQUEST['op'])) {
269 $op = $_REQUEST['op'];
270}
271
272switch ($op) {
273
274 case 'cliente_data_json': {
275 $stmt = $pdo->prepare("SELECT * FROM clientes");
276 if ($stmt->execute()) {
277 if ($stmt->rowCount() > 0) {
278 while ($dados = $stmt->fetch(PDO::FETCH_OBJ)) {
279 $data['data'][] = array(
280 "id" => "$dados->id",
281 "nome" => "$dados->nome",
282 "razaosocial" => "$dados->razao_social",
283 "opcoes" => "<div class='btn-group btn-group-sm'><button type='button' class='btn btn-sm btn-info' id='edit_" . $dados->id . "'><i class='glyphicon glyphicon-pencil'></i> Editar</button> <button type='button' class='btn btn-sm btn-danger' id='del_" . $dados->id . "'><i class='glyphicon glyphicon-trash'></i> Deletar</button></div>"
284 );
285 }
286 }
287 }
288 echo json_encode($data);
289 }break;
290
291}