Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/06/2011, 10:58
mixzplit
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 4 meses
Puntos: 2
Generar Consulta desde Formulario

Hola compañeros Foreros, vuelvo aqui con un problema que no he podido resolver desde hace unas cuantas horas.

Tengo un formulario de busqueda, donde envio se 6 datos, en el archivo donde hace la consulta a la base datos lo hago dependiendo de los datos, ya que ningun campo es obligatorio y la consulta se va generando dependiendo de lo que le estoy mandando, por aqui el script

Código PHP:
<?php
session_start
();
if(!isset(
$_SESSION['us_id'])){
header("Location: ../index.php"); 
} else { 
$usuario=$_SESSION['us_id'];
$admin=$_SESSION['us_tipo'];
?>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"/>
<link rel=stylesheet href="./Style/default.css" type="text/css">
<link rel=stylesheet href="./Style/menuH.css" type="text/css">
<script type="text/javascript" src="accion.js"></script>

<?php
include("conexion.php");
include(
'./Scripts/funcion.php');
$conexion = new ControlBD();
$conexion->conectar();
$conexion->seleccionarBD();

$estatus=$_POST['estatus'];
$recursos=$_POST['recursos'];
$ticket=$_POST['ticket'];
$empresa=$_POST['empresa'];
$descrip=$_POST['descripcion'];
$fecha=cambiar_a_mysql($_POST['fecha']);

$query="SELECT ta_id, ta_fechalimite, ta_fechaentrega, ta_status, ta_comentario, ta_prioridad, ta_idreq, us_nombre,
             us_apellido, ta_accionC, req_descripcion,em_nombre FROM cgtarea 
               INNER JOIN cgrequerimientos on ta_idreq=req_id 
               INNER JOIN cgusuarios ON ta_idrecurso=us_id
               INNER JOIN cgempresa ON em_id=req_idempresa"
;
//* Se agregaron los 2 guines a la condicion de la Fehca para tomara en cuenta la mascara creada en buscar.php*//
if(($estatus!='0') || ($recursos!='0') || ($ticket!='') || ($empresa!='0') || ($descrip!='') || ($fecha!='--')){
    
$query.= " WHERE ";
}
if(
$estatus!='0'){
    
$query.= "ta_status = '$estatus'";
}
if(
$recursos!='0'){
    if(
$estatus!='0'){
        
$query.= " AND us_id ='$recursos'";
    } else {
        
$query.= " us_id ='$recursos'";
    }
}
if(
$ticket!=''){
    if((
$estatus!='0') || ($recursos!='0')){
        
$query.= " AND ta_id = '$ticket'";
    } else {
        
$query.= " ta_id ='$ticket'";
    }
}
if(
$empresa!='0'){
    if((
$estatus!='0') || ($recursos!='0') || ($ticket!='')){
        
$query.= " AND em_id = '$empresa'";
    }else{
        
$query.= " em_id = '$empresa'";
    }
}
if(
$descrip!=''){
    if((
$estatus!='0') || ($recursos!='0') || ($ticket!='') || ($empresa!='0')){
           
$query .= " AND req_descripcion LIKE '%$descrip%'";
        
    }else{
           
$query .= " req_descripcion LIKE '%$descrip%'";
    }
}
if(
$fecha!='--'){
    if((
$estatus!='0') || ($recursos!='0') || ($ticket!='') || ($empresa!='0') || ($descrip!='')){
           
$query .= " AND ta_fechaentrega = '$fecha'";
        
    }else{
           
$query .= " ta_fechaentrega = '$fecha'";
    }
}
/*---------------Query para Contar---------------------*/ 
$contar "SELECT COUNT(ta_id) AS 'CONTAR' FROM cgtarea 
               INNER JOIN cgrequerimientos on ta_idreq=req_id 
               INNER JOIN cgusuarios ON ta_idrecurso=us_id
               INNER JOIN cgempresa ON em_id=req_idempresa
               GROUP BY 'CONTAR'"
;

if((
$estatus!='0') || ($recursos!='0') || ($ticket!='') || ($empresa!='0') || ($descrip!='') || ($fecha!='--')){
    
$contar.= " WHERE ";
}
if(
$estatus!='0'){
    
$contar.= "ta_status = '$estatus'";
}
if(
$recursos!='0'){
    if(
$estatus!='0'){
        
$contar.= " AND us_id ='$recursos'";
    } else {
        
$contar.= " us_id ='$recursos'";
    }
}
if(
$ticket!=''){
    if((
$estatus!='0') || ($recursos!='0')){
        
$contar.= " AND ta_id = '$ticket'";
    } else {
        
$contar.= " ta_id ='$ticket'";
    }
}
if(
$empresa!='0'){
    if((
$estatus!='0') || ($recursos!='0') || ($ticket!='')){
        
$contar.= " AND em_id = '$empresa'";
    }else{
        
$contar.= " em_id = '$empresa'";
    }
}
if(
$descrip!=''){
    if((
$estatus!='0') || ($recursos!='0') || ($ticket!='') || ($empresa!='0')){
           
$contar.= " AND req_descripcion LIKE '%$descrip%'";
        
    }else{
           
$contar.= " req_descripcion LIKE '%$descrip%'";
    }
}
if(
$fecha!='--'){
    if((
$estatus!='0') || ($recursos!='0') || ($ticket!='') || ($empresa!='0') || ($descrip!='')){
           
$contar.= " AND ta_fechaentrega = '$fecha'";
        
    }else{
           
$contar.= " ta_fechaentrega = '$fecha'";
    }
}

$result=$conexion->ejecutarQuery($query);
$resultado=$conexion->ejecutarQuery($contar);
$busq=mysql_fetch_array($resultado);
 
?>
</br>
<div align="center"> <strong> <?php echo $busq[0]; ?></strong> REGISTROS ENCONTRADOS </div>
<form>
<div class="centrado">
<table class="tablas" style="font-family:Tahoma, Geneva, sans-serif; font-size:12px;">
    <tr>
        <th>Empresa</th>
        <th>Ticket</th>
        <th>Ticket Requerimiento</th>
        <th>Descripcion del Requerimeinto</th>
        <th>Recurso</th>
        <th>Estatus</th>
        <th>Comentario</th>
        <th>Accion Cliente</th>
        <th>Fecha Limite</th>
        <th>Fecha Entrega</th>
       </tr>
    <? while($array=mysql_fetch_array($result))
    {
      
$id=$array['ta_id'];
      
$cstatus=$array['ta_status'];
    
?>
    <tr>
        <td><?=$array['em_nombre']; ?></td>
        <td><?=$array['ta_id']; ?></td>
        <td><?=$array['ta_idreq']; ?></td>
        <td><?=str_ireplace($descrip,"<span style='background-color: #88AAEE'>$descrip</span>",$array['req_descripcion']);?></td>
        <td><?=$array['us_nombre']." ".$array['us_apellido']; ?></td>
        <td><?=$array['ta_status']; ?></td>
        <td><?=$array['ta_comentario']; ?></td>
        <td><?=$array['ta_accionC']; ?></td>
        <td><?=cambiar_fecha($array['ta_fechalimite']); ?></td>
        <td><?=cambiar_fecha($array['ta_fechaentrega']); ?></td>
    </tr>
<?  }?>
</table>
</div>
</form>
<? ?>
El problema me da en la segunda consulta, que es donde quiero contar la cantidad de registros encontrados, si envio el formulario vacio, me muestra todos los registros y me cuenta todos, pero si le envio 2 criterios y el resultado es 4, en la parte donde debe mostrar la cantidad que encontro me muestra el siguiente warning:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\gestor\Gestor\buscar_BD.php on line 137

En realidad no se a que se debe ese warning, he leido y he cambiado, pero me sigue dando el warning

Espero puedan ayudarme, SALUDOS