Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/02/2011, 10:20
smolina
 
Fecha de Ingreso: enero-2011
Ubicación: Bucaramanga
Mensajes: 60
Antigüedad: 13 años, 3 meses
Puntos: 1
Pregunta Problema con Mysql_num_rows

Hola amigos de foros del web

Me encuentro con el siguiente problema a la hora de imprimir resultados a php al realizar la consulta a mysql.

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\AppServ\www\estadisticas\consulta_atiempo.php on line 85

Veo que el problema se presenta mas que todo cuando coloco un condicional WHERE a la consulta, y cuando hago consultas a varias tablas utilizando JOIN.

Aca les dejo el codigo que estoy utilizando y las bases de datos

Código PHP:
<?php
    mysql_connect
("localhost","root","123456");
    
?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <title>Generador De Estadísticas</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    <meta http-equiv="Pragma" content="no-cache" />
        <style type="text/css">
        <!--
        a.p:link     {
        color: #0066FF;
        text-decoration: none;
                    }
        a.p:visited {
        color: #0066FF;
        text-decoration: none;
                    }
        a.p:active     {
        color: #0066FF;
        text-decoration: none;
                    }
        a.p:hover     {
        color: #0066FF;
        text-decoration: underline;
                    }
        a.ord:link     {
        color: #000000;
        text-decoration: none;
                    }
        a.ord:visited     {
        color: #000000;
        text-decoration: none;
                        }
        a.ord:active     {
        color: #000000;
        text-decoration: none;
                        }
        a.ord:hover {
        color: #000000;
        text-decoration: underline;
                    }
        -->
        </style>
        
    </head>
    <body>
    
        <script language="JavaScript">
        function muestra(queCosa)
        {
        alert(queCosa);
        }
        </script>
    <div align="center"><strong><font color="#000000" size="3" 
    face="Verdana, Arial, Helvetica, sans-serif">Casos Cerrados Dentro Del Tiempo Establecido (A Tiempo)<br><br>
    </font></strong>
    <p><strong><font color="#000000" size="2" face="Verdana, Arial, Helvetica, sans-serif">
    <a href="http://www.unab.edu.co">www.unab.edu.co</a></font></strong></p>  </div>
    <hr noshade style="color:CC6666;height:1px">
    <br>
            <?php
        
//inicializo el criterio y recibo cualquier cadena que se desee buscar
        
$criterio "";
        if (
$_GET["criterio"]!="")    {
        
$txt_criterio $_GET["criterio"];
        
$criterio " where titulo like '%" .$txt_criterio"%' or categoria like '%" .$txt_criterio"%' or fecharequerido like '%" .$txt_criterio."%' or fechacierre like '%" .$txt_criterio."%' or Idcategoria like '%" .$txt_criterio"%'";
         
                                    }
        
        
        
$sql="SELECT glpi_tracking.name AS titulo,
        glpi_dropdown_tracking_category.name AS categoria,
        glpi_tracking.date_required AS fecharequerido,
        glpi_tracking.closedate AS fechacierre,
        glpi_tracking.category AS Idcategoria
        FROM glpi_tracking
        INNER JOIN glpi_dropdown_tracking_category
        ON glpi_tracking.category = glpi_dropdown_tr"
.$criterio;
        
        
//se seleccciona la base de datos y la tabla "casu.glpi_tracking"

        
$res=mysql_query($sql);
        
$numeroRegistros=mysql_num_rows($res);
        if(
$numeroRegistros<=0)
        {
        echo 
"<div align='center'>";
        echo 
"<font face='verdana' size='-2'>No se encontraron resultados</font>";
        echo 
"</div>";
        }else{
        
//elementos para el orden
        
if(!isset($orden))
        {
        
$orden="titulo";
    
        }
        
//fin elementos de orden
        //calculo de elementos necesarios para paginacion
        //tamaño de la pagina
        
$tamPag=6;
        
//pagina actual si no esta definida y limites
        
if(!isset($pagina))
        {
        
$pagina=1;
        
$inicio=1;
        
$final=$tamPag;
        }
        
//calculo del limite inferior
        
$limitInf=($pagina-1)*$tamPag;
        
//calculo del numero de paginas
        
$numPags=ceil($numeroRegistros/$tamPag);
        if(!isset(
$pagina))
        {
        
$pagina=1;
        
$inicio=1;
        
$final=$tamPag;
        }else
        {
        
$seccionActual=intval(($pagina-1)/$tamPag);
        
$inicio=($seccionActual*$tamPag)+1;

        if(
$pagina<$numPags)
        {
        
$final=$inicio+$tamPag-1;
        }else{
        
$final=$numPags;
        }
        if (
$final>$numPags)
            {
        
$final=$numPags;
            }
        }
        
//fin de dicho calculo

        //creacion de la consulta con limites
                
        
$sql="SELECT glpi_tracking.name AS titulo,
        glpi_dropdown_tracking_category.name AS categoria,
        glpi_tracking.date_required AS fecharequerido,
        glpi_tracking.closedate AS fechacierre,
        glpi_tracking.category AS Idcategoria
        FROM glpi_tracking
        INNER JOIN glpi_dropdown_tracking_category
        ON glpi_tracking.category = glpi_dropdown_tr"
.$criterio." ORDER BY ".$orden.",titulo ASC LIMIT ".$limitInf.",".$tamPag;
        
        
        
//esto es para ordenar "casu.glpitracking" y el orden por "name"
        
$res=mysql_query($sql);

        
//fin consulta con limites
        
echo "<div align='center'>";
        echo 
"<font face='verdana' size='-2'> Total de Tickest Atendidos = ".$numeroRegistros." <br>";
        
//echo "Ordenados Por <b>".$orden."</b>";
        
if(isset($txt_criterio))
        {
        echo 
"<br>Valor filtro: <b>".$txt_criterio."</b>";
        }
        echo 
"</font></div>";
        echo 
"<table align='center' width='90%' border='0' cellspacing='1' cellpadding='0'>";
        echo 
"<tr><td colspan='3'><hr noshade></td></tr>";
        
//se colocan los atributos de la tabla y el encabezado que va en la tabla
        
echo "<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=titulo&criterio=".$txt_criterio."'>Titulo_del_Ticket_para_soporte</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=categoria&criterio=".$txt_criterio."'>categoria</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=fecharequerido&criterio=".$txt_criterio."'>Fecha_de_Requerido</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=fechacierre&criterio=".$txt_criterio."'>Fecha_de_Cierre</a></th>";
        echo 
"<th bgcolor='#CCCCCC'><a class='ord' href='".$_SERVER["PHP_SELF"]."?pagina=".$pagina."&orden=Idcategoria&criterio=".$txt_criterio."'>Idcategoria</a></th>";
        while(
$registro=mysql_fetch_array($res))
        {
        
        
?>
    <!-- tabla de resultados -->
    <tr bgcolor="#CC6666" onMouseOver="this.style.backgroundColor='#FF9900';this.style.cursor='hand';" onMouseOut="this.style.backgroundColor='#CC6666'"o"];" onClick="javascript:muestra('<? echo "[".$registro["titulo"]."] ".$registro["categoria"]." - ".$registro["fecharequerido"]." - ".$registro["fechacierre"]."-".$registro["Idcategoria"]; ?>');">
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff"><b><? echo $registro["titulo"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff"><b><? echo $registro["categoria"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff"><b><? echo $registro["fecharequerido"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff"><b><? echo $registro["fechacierre"]; ?></b></font></td>
    <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif" color="#ffffff"><b><? echo $registro["Idcategoria"]; ?></b></font></td>
    </tr>
    <!-- fin tabla resultados -->
    
        <?php
        
}//fin while
        
echo "</table>";
        }
//fin if
        //////////a partir de aqui viene la paginacion
        
?>    
        
    <br>
    <table border="0" cellspacing="0" cellpadding="0" align="center">
    <tr><td align="center" valign="top">
    
        <?php
        
if($pagina>1)
        {
        echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina-1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
        echo 
"<font face='verdana' size='-2'>anterior</font>";
        echo 
"</a>&nbsp;";
        }

        for(
$i=$inicio;$i<=$final;$i++)
        {
        if(
$i==$pagina)
        {
        echo 
"<font face='verdana' size='-2'><b>".$i."</b>&nbsp;</font>";
        }else{
        echo 
"<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".$i."&orden=".$orden."&criterio=".$txt_criterio."'>";
        echo 
"<font face='verdana' size='-2'>".$i."</font></a>&nbsp;";
        }
        }
        if(
$pagina<$numPags)
        {
        echo 
"&nbsp;<a class='p' href='".$_SERVER["PHP_SELF"]."?pagina=".($pagina+1)."&orden=".$orden."&criterio=".$txt_criterio."'>";
        echo 
"<font face='verdana' size='-2'>siguiente</font></a>";
        }
        
//////////fin de la paginacion
        
?>
        
    </td></tr>
    </table>
    <hr noshade style="color:CC6666;height:1px">
    <div align="center"><font face="verdana" size="1"><a class="p" href="estadistica1.php">::Inicio::</a></font></div>
<center>
    <form action="consulta_atiempo.php" method="get">
    Criterio de búsqueda:
    <input type="text" name="criterio1" size="22" maxlength="150">
    <input type="submit" value="Buscar">
    </center>
    <hr noshade style="color:#088A08;height:10px">
    
    </form>
    </body>
    </html>
        <hr noshade style="color:red;height:2px">
        
        <?php
        mysql_close
();
        
?>