Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/05/2014, 13:19
Avatar de HackID1
HackID1
 
Fecha de Ingreso: febrero-2013
Ubicación: En Update
Mensajes: 492
Antigüedad: 11 años, 2 meses
Puntos: 17
Pregunta QUERY para conocer un tipo_campo y mostrar un link u otro

Muy buenas foreros!!!.

Tengo una BD con 2 tablas (clientes,trabajos) relacionadas por codcliente.

Por medio de un formulario con un campo INPUT busco palabras clave en los campos descripcion o observacion de mi tabla trabajos.

Hago 2 consultas una para pintar una tabla con tipo_cliente = particulares y otra para tipo_cliente = empresa. Pero lo raro es que se repiten los datos en ambas tablas sin importar esa parte del WHERE AND cl.tipo_cliente = 'empresa'

Mis consultas son.

Código PHP:
Ver original
  1. <?php
  2.                
  3.                     $keyword = $_POST['keyword'];
  4.                    
  5.                
  6.                     include ("abre_conexion.php");
  7.                    
  8.                    
  9.                     $query1 = "SELECT cl.codcliente, tr.codtrabajo, cl.nombre, cl.apellido, cl.dni, cl.telefono, cl.email,
  10.                                     cl.nom_fiscal, tr.estado, tr.tipo_trabajo, tr.observacion, tr.descripcion, tr.precio, tr.pagado
  11.                                 FROM $tabla_db1 cl, $tabla_db2 tr
  12.                                 WHERE cl.tipo_cliente = 'particular'
  13.                                 AND cl.codcliente = tr.codcliente
  14.                                 AND tr.observacion LIKE '%$keyword%'
  15.                                 OR tr.descripcion LIKE '%$keyword%'
  16.                                 GROUP BY tr.codtrabajo
  17.                                 ";
  18.                                        
  19.                     $result = mysql_query($query1);
  20.                    
  21.                                    
  22.                         echo "
  23.                             Palabra de busqueda: <b>$keyword</b>
  24.                            
  25.                             <br/><br/>
  26.                             ";
  27.                        
  28.                                    
  29.                     echo "
  30.                                                
  31.                             <h3> Listado de Trabajos de Particulares. </h3><br/>
  32.                             Para ver los trabajos presione el bot&oacute;n <strong> ver </strong> en la parte derecha.<br/><br/>
  33.                         ";
  34.                        
  35.                     echo "
  36.                                     <form action='consultarcliente3.php' method='post' >
  37.                                     <div align='center' id='padtabla'>
  38.                                         <table class='sortable' align='center' border='1' width='100%'>
  39.                                        
  40.                                             <tr align='center' bgColor='#FFBF00'>
  41.                                                 <td> <strong> Cod Trabajo </strong>             </td>
  42.                                                 <td> <strong> Cod Cliente </strong>             </td>
  43.                                                 <td> <strong> Nombre</strong>                   </td>
  44.                                                 <td> <strong> Nom. Fiscal </strong>             </td>
  45.                                                 <td> <strong> DNI </strong>                     </td>
  46.                                                 <td> <strong> Tel&eacute;fono  </strong>        </td>
  47.                                                 <td> <strong> Email </strong>                   </td>
  48.                                                 <td> <strong> Estado </strong>                  </td>
  49.                                                 <td> <strong> Tipo&nbsp;Trabajo </strong>       </td>
  50.                                                 <td> <strong> Observaci&oacute;n </strong>      </td>
  51.                                                 <td> <strong> Descripci&oacute;n </strong>      </td>
  52.                                                 <td> <strong> Presupuesto </strong>             </td>
  53.                                                 <td> <strong> Pagado </strong>                  </td>
  54.                                                 <td> <strong> Ver Informe </strong>             </td>
  55.                                             </tr>
  56.                                
  57.                                     ";
  58.                            
  59.                             while ($registro = mysql_fetch_array($result)) {
  60.                                 echo "    
  61.                                            
  62.                                             <tr align='center'>
  63.                                                 <td>".$registro['codtrabajo']."</td>
  64.                                                 <td>".$registro['codcliente']."</td>
  65.                                                 <td>".$registro['nombre']."&nbsp;".$registro['apellido']."</td>
  66.                                                 <td>".$registro['nom_fiscal']."</td>   
  67.                                                 <td>".$registro['dni']."</td>  
  68.                                                 <td>".$registro['telefono']."</td>
  69.                                                 <td>".$registro['email']."</td>
  70.                                                 <td>".$registro['estado']."</td>
  71.                                                 <td>".$registro['tipo_trabajo']."</td>
  72.                                                 <td>".$registro['observacion']."</td>
  73.                                                 <td>".$registro['descripcion']."</td>
  74.                                                 <td>".$registro['precio']."</td>
  75.                                                 <td>".$registro['pagado']."</td>
  76.                                                 <td width='5%' align='center'>
  77.                                                     <a href='ver_trabajos_particular1.php?id=".$registro["codtrabajo"]."'> Ver </a>
  78.                                                 </td>
  79.                                             </tr>
  80.                                            
  81.                                     ";
  82.                              }  //CIERRA WHILE
  83.                              ?>
  84.                                                            
  85.                                         </table>
  86.                                     </div>
  87.            
  88.                            
  89.                     <?php  
  90.                
  91.                     // QUERY PARA EMPRESAS
  92.                     $query2 = "SELECT cl.codcliente, tr.codtrabajo, cl.nom_comercial, cl.telefono, cl.email, cl.web,
  93.                                 tr.tipo_trabajo, tr.observacion, tr.descripcion, tr.precio, tr.pagado
  94.                             FROM $tabla_db1 cl, $tabla_db2 tr
  95.                             WHERE cl.codcliente = tr.codcliente
  96.                             AND cl.tipo_cliente = 'empresa'
  97.                             AND tr.observacion LIKE '%$keyword%'
  98.                             OR tr.descripcion LIKE '%$keyword%'
  99.                             GROUP BY tr.codtrabajo
  100.                             ";
  101.                                        
  102.                     $result2 = mysql_query($query2);
  103.                    
  104.                                    
  105.                     echo "
  106.                             <br/>
  107.                             <br/><br/> <h3> Listado de trabajos de Empresas. </h3><br/>
  108.                                
  109.                         ";
  110.                        
  111.                     echo "
  112.                                     <form action='consultarcliente3.php' method='post' >
  113.                                     <div align='center' id='padtabla'>
  114.                                         <table class='sortable' align='center' border='1' width='100%'>
  115.                                        
  116.                                             <tr align='center' bgColor='#FFBF00'>
  117.                                                 <td> <strong> Cod Trabajo </strong>             </td>
  118.                                                 <td> <strong> Cod Cliente </strong>             </td>
  119.                                                 <td> <strong> Nombre Comercial</strong>         </td>
  120.                                                 <td> <strong> Tel&eacute;fono  </strong>        </td>
  121.                                                 <td> <strong> Email </strong>                   </td>
  122.                                                 <td> <strong> Web </strong>                     </td>
  123.                                                 <td> <strong> Tipo&nbsp;Trabajo </strong>       </td>
  124.                                                 <td> <strong> Observaci&oacute;n </strong>      </td>
  125.                                                 <td> <strong> Descripci&oacute;n </strong>      </td>
  126.                                                 <td> <strong> Presupuesto </strong>             </td>
  127.                                                 <td> <strong> Pagado </strong>                  </td>
  128.                                                 <td> <strong> Ver Informe </strong>             </td>
  129.                                             </tr>
  130.                                
  131.                                     ";
  132.                            
  133.                             while ($registro2 = mysql_fetch_array($result2)) {
  134.                                 echo "    
  135.                                            
  136.                                             <tr align='center'>
  137.                                                 <td>".$registro2['codtrabajo']."</td>
  138.                                                 <td>".$registro2['codcliente']."</td>
  139.                                                 <td>".$registro2['nom_comercial']."</td>
  140.                                                 <td>".$registro2['telefono']."</td>
  141.                                                 <td>".$registro2['email']."</td>
  142.                                                 <td>".$registro2['web']."</td>                                             
  143.                                                 <td>".$registro2['tipo_trabajo']."</td>
  144.                                                 <td>".$registro2['observacion']."</td>
  145.                                                 <td>".$registro2['descripcion']."</td>
  146.                                                 <td>".$registro2['precio']."</td>
  147.                                                 <td>".$registro2['pagado']."</td>
  148.                                                 <td width='5%' align='center'>
  149.                                                     <a href='ver_trabajos_empresa1.php?id=".$registro2["codtrabajo"]."'> Ver </a>
  150.                                                 </td>
  151.                                             </tr>
  152.                                            
  153.                                     ";
  154.                              }  //CIERRA WHILE
  155.                              
  156.                    
  157.                              ?>
  158.                                                            
  159.                                         </table>
  160.                                     </div>

¿Porque se repite la busqueda por las palabras, ?es decir si hay un cliente particular con la palabra de busqueda, a veces se muestra en las 2 tablas y no deberia.
__________________
Puntuar +1 es buena forma de dar las gracias. :P
Your Time is limited, so don't waste it living someone else´s life.
Por: HackID1