Buenas queridos jqueryqueros. Les comento que tengo un input buscador,
que consulta los datos de una Base de Datos y este usa Ajax. Todo
funciona bien para aquellos que tienen permiso como
"Administrador". Mi problema reside en reutilizar el código
.js y hacer otra consulta para los que tienen permiso de usuario
"Gerente".
Aquí envío el código completo que funciona bien para Administrador:
Marqué con texto azúl las partes que creo que habría que modificar
redactar.php:
-En esta página está el formulario adonde
está el buscador y la sección del permiso Administrador
-
<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>
function.php:
-En esta página realizo la llamada
Ajax a la página
"search.php"
-
$(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:
-En esta página está la
consulta
-
$q=$_POST['search'];
-
-
$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
-
while($row=mysql_fetch_array($sql_res))
-
{
-
$idUsuario=$row['idUsuario'];
-
$idTipoUsuario=$row['idTipoUsuario'];
-
$tipoUsuario=mysql_query("
-
SELECT
-
tipUs.idTipoUsuario,
tipUs.nombreTipoUsuario
-
FROM
-
tipoUsuario tipUs
-
WHERE
-
tipUs.idTipoUsuario='$idTipoUsuario'
-
");
-
$rows=mysql_fetch_array($tipoUsuario);
-
echo
$nombreTipoUsuario=$rows['nombreTipoUsuario'];
-
-
$username=
utf8_encode($row['nombre']);
-
$userapellido=utf8_encode($row['apellido']);
-
$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>
Les pido ayuda, amigos foreros, por favor.