I need to make a query to the server if there is a new value in a table or not and if there is a notification that there is a new value I was looking and the best option would be with ajax but I am not very clear as do it
This is the .php that registers in the DB
?php
include('is_logged.php');//Archivo verifica que el usario que intenta acceder a la URL esta logueado
/* Connect To Database*/
require_once ("../config/db.php");//Contiene las variables de configuracion para conectar a la base de datos
require_once ("../config/conexion.php");//Contiene funcion que conecta a la base de datos
$action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:'';
if (isset($_GET['Nticket'])){
$incidencia=intval($_GET['Nticket']);
$query=mysqli_query($con, "select * from ticket where Nticket='".$Nticket."','".$incidencia."'");
$rw_user=mysqli_fetch_array($query);
$count=$rw_ticket['Nticket'];
if ($Nticket!=1){
if ($delete1=mysqli_query($con,"DELETE FROM ticket WHERE Nticket='".$Nticket."'")){
?>
<div class="alert alert-success alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>Aviso!</strong> Datos eliminados exitosamente.
</div>
<?php
}else {
?>
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>Error!</strong> Lo siento algo ha salido mal intenta nuevamente.
</div>
<?php
}
} else {
?>
<div class="alert alert-danger alert-dismissible" role="alert">
<button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">×</span></button>
<strong>Error!</strong> No se pudo eliminar ésta categoría. Existen productos vinculados a ésta categoría.
</div>
<?php
}
}
if($action == 'ajax'){
// escaping, additionally removing everything that could be (html/javascript-) code
$q = mysqli_real_escape_string($con,(strip_tags($_REQUEST['q'], ENT_QUOTES)));
$aColumns = array('Nticket', 'incidencia');//Columnas de busqueda
$sTable = "ticket";
$sWhere = "";
if ( $_GET['q'] != "" )
{
$sWhere = "WHERE (";
for ( $i=0 ; $i<count($aColumns) ; $i++ )
{
$sWhere .= $aColumns[$i]." LIKE '%".$q."%' OR ";
}
$sWhere = substr_replace( $sWhere, "", -3 );
$sWhere .= ')';
}
$sWhere.=" order by Nticket DESC";
include 'pagination.php'; //include pagination file
//pagination variables
$page = (isset($_REQUEST['page']) && !empty($_REQUEST['page']))?$_REQUEST['page']:1;
$per_page = 10; //how much records you want to show
$adjacents = 4; //gap between pages after number of adjacents
$offset = ($page - 1) * $per_page;
//Count the total number of row in your table*/
$count_query = mysqli_query($con, "SELECT count(*) AS numrows FROM $sTable $sWhere");
$row= mysqli_fetch_array($count_query);
$numrows = $row['numrows'];
$total_pages = ceil($numrows/$per_page);
$reload = './clientes.php';
//main query to fetch the data
$sql="SELECT * FROM $sTable $sWhere LIMIT $offset,$per_page";
$query = mysqli_query($con, $sql);
//loop through fetched data
if ($numrows>0){
?>
<div class="table-responsive">
<table class="table">
<tr class="danger">
<th>ticket</th>
<th>Incidencia</th>
<th>Tema</th>
<th>Detalle</th>
<th>Funcionario</th>
<th class='text-right'>Editar</th>
</tr>
<?php
$nums=0;
while ($row=mysqli_fetch_array($query)){
$Nticket=$row['Nticket'];
$incidencia=$row['incidencia'];
$tema=$row['tema'];
$detalle=$row['detalle'];
$_FILES['imagen']['name']=$row['imagen'];
$firstname=$row['firstname'];
$nums++;
?>
<input type="hidden" value="<?php echo $row['Nticket'];?>" id="Nticket<?php echo $Nticket;?>">
<input type="hidden" value="<?php echo $row['incidencia'];?>" id="incidencia<?php echo $incidencia;?>">
<input type="hidden" value="<?php echo $row['tema'];?>" id="tema<?php echo $tema;?>">
<input type="hidden" value="<?php echo $row['detalle'];?>" id="detalle<?php echo $detalle;?>">
<input type="hidden" value="<?php echo $row['imagen'];?>" id="imagen<?php echo $_FILES['imagen']['name'];?>">
<input type="hidden" value="<?php echo $row['firstname'];?>" id="firstname">
<tr>
<td><?php echo $Nticket; ?></td>
<td><?php switch ($incidencia){
case "Felicitaciones-sugerencias-quejas-reclamos";
echo 'Felicitaciones-sugerencias-quejas-reclamos';
break;
case "Aplicaciones moviles SwissSmart - R_sales":
echo 'Aplicaciones moviles SwissSmart - R_sales';
break;
case "Reportes plataformasSwissSystem-SwissSmart-R_sales":
echo 'Reportes plataformasSwissSystem-SwissSmart-R_sales';
break;
case "Soporte infraestructura":
echo 'Soporte infraestructura';
break;
case "Soporte Software":
echo 'Soporte Software SwissSystem, Acounting: Elias, siigo, swiss smart, syslog';
break;
case "Soporte Multimedia":
echo 'Soporte Multimedia';
break;
case "Solicitud Capacitacion Software":
echo 'Solicitud Capacitacion Software';
break;
case "Solicitud Capacitacion hardware":
echo 'Solicitud Capacitacion hardware';
break;
case "Solicitud Desarrollo":
echo 'Solicitud Desarrollo';
break;
case "Solcitud de equipos":
echo 'Solcitud de equipos';
break;
case "Fallos conexiones servidores":
echo 'Fallos conexiones servidores';
break;
case "Otros incidentes":
echo 'Otros incidentes';
break;
} ?>
</td>
<td ><?php echo $tema; ?></td>
<td ><a data-toggle="modal" href="#myModal_<?php echo $nums; ?>"><li
class='glyphicon glyphicon-info-sign'></li></a>
<div class="modal fade" id="myModal_<?php echo $nums; ?>" role="dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×
</button>
<h4 class="modal-title">Detalle de la incidencia</h4>
</div>
<div class="modal-body">
<p><?php echo $detalle;?></p>
<a href='img/<?php echo $_FILES['imagen']['name']; ?>' target="_blank"> <p><img src="img/<?php echo $_FILES['imagen']['name']; ?>"
style="width: 100%;height: 100%"> </p>
</a>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</div>
</div>
</div>
</td>
<td><?php echo $row['firstname']; ?></td>
<td class='text-right'>
<a href="#" class='btn btn-default' title='Editar ticket' onclick="obtener_datos('<?php echo $Nticket;?>');" data-toggle="modal" data-target="#myModal21"><i class="glyphicon glyphicon-edit"></i></a>
</tr>
<?php
}
?>
<tr>
<td colspan=9><span class="pull-right">
<?php
echo paginate($reload, $page, $total_pages, $adjacents);
?></span></td>
</tr>
</table>
</div>
<?php
}
}
?>
I tried to do something like that but it did not work
select count(*) From ticket ,
var registrost = 5;
var llamada_ajax= function() {
if ( registrost > registrosBD ){
registrosBD = registrosdes;
Push.create("Tienes un nuevo ticket", {
body: "$funcionario tiene una incidencia",
icon: '/icon.png',
timeout: 4000,
onClick: function () {
window.focus();
this.close();
}
};
var intervalo = 1000; //milisegundos
setInterval(llamada_ajax, intervalo);
}
});