Condicionar celdas del datatable según valor de la columna.
Publicado por Greg (4 intervenciones) el 28/07/2017 17:16:11
Hola, que tal. Traigo el siguiente código php que me permite mostrar un datatable en pantalla utilizando bootstrap 3.3. Requiero el apoyo de ustedes para saber como condicionar las variables a mostrar dentro del arreglo de una determinada columna (en este caso "status"), para pintar el texto o la celda segun el valor.
Por ejemplo. si el Equipo muestra el status "DISPONIBLE" esté en verde o si muestra el status "OCUPADA" este en rojo, etc.
Adjunto código php:
Les adjunto una captura de pantalla de la tabla:
Muchas gracias de antemano.
Saludos.
Por ejemplo. si el Equipo muestra el status "DISPONIBLE" esté en verde o si muestra el status "OCUPADA" este en rojo, etc.
Adjunto código php:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
<?php
include('db.php');
include('function.php');
$query = '';
$output = array();
$query .= "SELECT * FROM equipos ";
if(isset($_POST["search"]["value"]))
{
$query .= 'WHERE clave_ogo LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR marca LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR modelo LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR serie LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR m_cpu LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR vel_cpu LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR cap_hdd LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR cant_ram_asign LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR memoria_video LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR s_o LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR usuario LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR empresa LIKE "%'.$_POST["search"]["value"].'%" ';
$query .= 'OR status LIKE "%'.$_POST["search"]["value"].'%" ';
}
if(isset($_POST["order"]))
{
$query .= 'ORDER BY '.$_POST['order']['0']['column'].' '.$_POST['order']['0']['dir'].' ';
}
else
{
$query .= 'ORDER BY clave_ogo ASC ';
}
if($_POST["length"] != -1)
{
$query .= 'LIMIT ' . $_POST['start'] . ', ' . $_POST['length'];
}
$statement = $connection->prepare($query);
$statement->execute();
$result = $statement->fetchAll();
$data = array();
$filtered_rows = $statement->rowCount();
foreach($result as $row)
{
$image = '';
if($row["image"] != '')
{
$image = '<img src="upload/'.$row["image"].'" class="img-thumbnail" width="50" height="35" />';
}
else
{
$image = '';
}
$sub_array = array();
$sub_array[] = $image;
$sub_array[] = $row["clave_ogo"];
$sub_array[] = $row["marca"];
$sub_array[] = $row["modelo"];
$sub_array[] = $row["serie"];
$sub_array[] = $row["m_cpu"];
$sub_array[] = $row["vel_cpu"];
$sub_array[] = $row["cap_hdd"];
$sub_array[] = $row["cant_ram_asign"];
$sub_array[] = $row["memoria_video"];
$sub_array[] = $row["usuario"];
$sub_array[] = $row["empresa"];
$sub_array[] = $row["status"];
$sub_array[] = '<button type="button" name="update" id="'.$row["id"].'" class="glyphicon glyphicon-pencil btn btn-primary btn-xs update"></button>';
$sub_array[] = '<button type="button" name="delete" id="'.$row["id"].'" class="glyphicon glyphicon-trash btn btn-danger btn-xs delete"></button>';
$data[] = $sub_array;
}
$output = array(
"draw" => intval($_POST["draw"]),
"recordsTotal" => $filtered_rows,
"recordsFiltered" => get_total_all_records(),
"data" => $data
);
echo json_encode($output);
?>
Les adjunto una captura de pantalla de la tabla:
Muchas gracias de antemano.
Saludos.
Valora esta pregunta
0