Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/08/2015, 21:19
mikehove
 
Fecha de Ingreso: abril-2012
Ubicación: Argentina
Mensajes: 215
Antigüedad: 11 años, 11 meses
Puntos: 2
Ahorrar código con consulta PHP, JQUERY con buscador AJAX

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
  1. <form action="/enviar-mensaje" id="enviarMensaje" method="post" autocomplete="off">    
  2.      <input name="idUsuarioRemitente" type="hidden" value="<?php echo $idUsuarioRemitente ?>" />                
  3.      <input name="redactarEnviarMensaje" type="hidden" value="<?php echo $redactarEnviarMensaje ?>" />              
  4.         <div class="content">  
  5.              <?php
  6.               //Inicio si tiene permiso "Administrador"                    
  7.               if ($_SESSION['miSession']['permiso']=="1")
  8.                  {
  9.              ?>            
  10.                    <input type="text" class="search"  id="searchid" name="datosUsuarioDestinatario" placeholder="" style="width:700px;" /><br/>
  11.              <?php  
  12.                  }
  13.               //Fin si tiene permiso "Administrador"
  14.               //Inicio si tiene permiso "Gerente"                      
  15.               if ($_SESSION['miSession']['permiso']=="2")
  16.                  {
  17.                  }
  18.               //Fin si tiene permiso "Gerente"
  19.              ?>                    
  20.           <div id="result"></div>
  21.         </div>
  22.      <input type="submit" name="enviar" id="button" value="Enviar" class="submit"/>    
  23.     </form>

funcion.js:
Código Javascript:
Ver original
  1. $(function(){
  2. $(".search").keyup(function()
  3. {
  4. var searchid = $(this).val();
  5. var dataString = 'search='+ searchid;
  6. if(searchid!='')
  7. {
  8.     $.ajax({
  9.     type: "POST",
  10.     url: "/contenido/mensaje/search.php",
  11.     data: dataString,
  12.     cache: false,
  13.     success: function(html)
  14.     {
  15.     $("#result").html(html).show();
  16.     }
  17.     });
  18. }return false;    
  19. });
  20.  
  21. $("#result").on("click",function(e){
  22. var $clicked = $(e.target);
  23. if (e.target.nodeName == "STRONG")
  24. $clicked = $(e.target).parent().parent();
  25. else if (e.target.nodeName == "SPAN" || e.target.nodeName == "IMG")
  26. $clicked = $(e.target).parent();
  27.  
  28. var $name = $clicked.find('.name').html();
  29. var decoded = $("<div/>").html($name).text();
  30. $('#searchid').val(decoded);
  31. });
  32.  
  33. $(document).on("click", function(e) {
  34.     var $clicked = $(e.target);
  35.        
  36.     if (! $clicked.hasClass("search")){
  37.     $("#result").fadeOut();
  38.     }
  39. });
  40.  
  41. $("#searchid").on("click",function(e){
  42.     $("#result").fadeOut();
  43. });
  44. });

search.php:
Lo que necesito aquí es cambiar la consulta para los permisos de "Gerente"
Código PHP:
Ver original
  1. $sql_res=mysql_query("
  2.                      SELECT
  3.                            idUsuario, nombre, apellido, e_mail, idTipoUsuario                  
  4.                          FROM
  5.                            usuario
  6.                          WHERE                                               
  7.                               idUsuario not in (1)
  8.                            AND  
  9.                              (idUsuario LIKE '%$q%'
  10.                              OR
  11.                                nombre LIKE '%$q%'
  12.                              OR
  13.                                apellido LIKE '%$q%'
  14.                              OR
  15.                                e_mail LIKE '%$q%'
  16.                              )                 
  17.                          ORDER BY
  18.                               idUsuario LIMIT 5                      
  19.                     ");
  20. ?>
  21. <br/>
  22. <?php
  23. while($row=mysql_fetch_array($sql_res))
  24. {
  25. $idUsuario=$row['idUsuario'];
  26. $idTipoUsuario=$row['idTipoUsuario'];
  27. $tipoUsuario=mysql_query("
  28.                      SELECT                          
  29.                            tipUs.idTipoUsuario, tipUs.nombreTipoUsuario                        
  30.                          FROM                          
  31.                            tipoUsuario tipUs
  32.                          WHERE
  33.                            tipUs.idTipoUsuario='$idTipoUsuario'                        
  34.                     ");
  35. $rows=mysql_fetch_array($tipoUsuario);
  36. echo $nombreTipoUsuario=$rows['nombreTipoUsuario'];
  37.    
  38. $username= utf8_encode($row['nombre']);
  39. $userapellido=utf8_encode($row['apellido']);
  40. $email=$row['e_mail'];
  41. $b_username='<strong>'.$q.'</strong>';
  42. $b_userapellido='<strong>'.$q.'</strong>';
  43. $b_email='<strong>'.$q.'</strong>';
  44.  
  45. $final_username = tagHighlight($username, $q);
  46. $final_userapellido = tagHighlight($userapellido, $q);
  47. $final_email = tagHighlight($email, $q);
  48.  
  49. ?>
  50. <div class="show" align="left">
  51. <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>&nbsp;<br/><br/>
  52. </div>