Hola gente productiva. Les comento que dispongo de un buscador con Jquery y Ajax, que busca los valores en una BD. Este funciona bien para quien tenga el permiso de "Administrador" pero no se cómo ahorrar código y que funcione también para, por ejemplo, los que tienen permiso "Gerente". Estuve probando adaptarlo pero no funciona todavía por eso les pido ayuda, por favor, alguna idea.
Aquí está el código completo que funciona para los que tienen permiso "Administrador":
redactar.php:
Código PHP:
Ver original<form action="/enviar-mensaje" id="enviarMensaje" method="post" autocomplete="off">
<input name="idUsuarioRemitente" type="hidden" value="<?php echo $idUsuarioRemitente ?>" />
<input name="redactarEnviarMensaje" type="hidden" value="<?php echo $redactarEnviarMensaje ?>" />
<div class="content">
<?php
//Inicio si tiene permiso "Administrador"
if ($_SESSION['miSession']['permiso']=="1")
{
?>
<input type="text" class="search" id="searchid" name="datosUsuarioDestinatario" placeholder="" style="width:700px;" /><br/>
<?php
}
//Fin si tiene permiso "Administrador"
//Inicio si tiene permiso "Gerente"
if ($_SESSION['miSession']['permiso']=="2")
{
}
//Fin si tiene permiso "Gerente"
?>
<div id="result"></div>
</div>
<input type="submit" name="enviar" id="button" value="Enviar" class="submit"/>
</form>
funcion.js:
Código Javascript
:
Ver original$(function(){
$(".search").keyup(function()
{
var searchid = $(this).val();
var dataString = 'search='+ searchid;
if(searchid!='')
{
$.ajax({
type: "POST",
url: "/contenido/mensaje/search.php",
data: dataString,
cache: false,
success: function(html)
{
$("#result").html(html).show();
}
});
}return false;
});
$("#result").on("click",function(e){
var $clicked = $(e.target);
if (e.target.nodeName == "STRONG")
$clicked = $(e.target).parent().parent();
else if (e.target.nodeName == "SPAN" || e.target.nodeName == "IMG")
$clicked = $(e.target).parent();
var $name = $clicked.find('.name').html();
var decoded = $("<div/>").html($name).text();
$('#searchid').val(decoded);
});
$(document).on("click", function(e) {
var $clicked = $(e.target);
if (! $clicked.hasClass("search")){
$("#result").fadeOut();
}
});
$("#searchid").on("click",function(e){
$("#result").fadeOut();
});
});
search.php: Lo que necesito aquí es cambiar la consulta para los permisos de "Gerente"
Código PHP:
Ver original$sql_res=mysql_query("
SELECT
idUsuario, nombre, apellido, e_mail, idTipoUsuario
FROM
usuario
WHERE
idUsuario not in (1)
AND
(idUsuario LIKE '%$q%'
OR
nombre LIKE '%$q%'
OR
apellido LIKE '%$q%'
OR
e_mail LIKE '%$q%'
)
ORDER BY
idUsuario LIMIT 5
");
?>
<br/>
<?php
{
$idUsuario=$row['idUsuario'];
$idTipoUsuario=$row['idTipoUsuario'];
SELECT
tipUs.idTipoUsuario, tipUs.nombreTipoUsuario
FROM
tipoUsuario tipUs
WHERE
tipUs.idTipoUsuario='$idTipoUsuario'
");
echo $nombreTipoUsuario=$rows['nombreTipoUsuario'];
$email=$row['e_mail'];
$b_username='<strong>'.$q.'</strong>';
$b_userapellido='<strong>'.$q.'</strong>';
$b_email='<strong>'.$q.'</strong>';
$final_username = tagHighlight($username, $q);
$final_userapellido = tagHighlight($userapellido, $q);
$final_email = tagHighlight($email, $q);
?>
<div class="show" align="left">
<img src="author.PNG" style="width:50px; height:50px; float:left; margin-right:6px;" /><span class="name" ><?php echo $final_username." ".$final_userapellido;?><?php echo " < ".$final_email. " > idUsuario: ".$idUsuario." - ".$nombreTipoUsuario ?></span> <br/><br/>
</div>