Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error contando filas

Estas en el tema de Error contando filas en el foro de PHP en Foros del Web. Ahora estoy intentando consultar los datos del array en la base de datos, lo que necesito es saberr cuales de los empleeados estan asignados ya ...
  #1 (permalink)  
Antiguo 27/05/2015, 13:48
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Error contando filas

Ahora estoy intentando consultar los datos del array en la base de datos, lo que necesito es saberr cuales de los empleeados estan asignados ya a una ttarea, lo que inteentto hacer es:

Obtengo todos los id de los empleads de la lista, los almaceno en un array, luego consulto la tabla de asignacion de reemplazos para saber si el empleado esta asignadoo esta libre, para eso entonces mi script esta asi:

Código PHP:
Ver original
  1. //Paso 2, Traemos la lista de los Empleados
  2.  
  3. $cons0="SELECT * FROM Eventuales";
  4. $rcons0 = mysql_query($cons0);
  5.  
  6. $listado = array();
  7.     while ($lis=mysql_fetch_assoc($rcons0)){
  8.         $listado[]=$lis['Id_eventual'];
  9.         $nombreres = $lis['Nombre'];
  10.     }
  11.  
  12.  
  13. reset($listado);
  14. //Consultamos si esta asignado
  15.  
  16. echo "<table>
  17.         <tr><td colspan='2' align='center'>Eventuales Disponibles</td></tr>
  18.         <tr><td>Nombre</td><td>Estado</td>";
  19. $asig = "SELECT * FROM Evento WHERE Fecha_fin < '$fecha_inicio' AND id_eventual == '$valor'";
  20. while (list(, $valor) = each($listado)) {
  21.     $casig=mysql_query($asig);
  22.    
  23.     $resasig = mysql_num_rows($casig);
  24.     if ($resasig == '0'){
  25.         echo "<tr><td>".$nombreres."</td>";
  26.         echo "<td>Asignar</td></tr>";
  27.     }
  28.    
  29. }

Cuando la ejecuto me da este error Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/fmiclcom/public_html/brillaseo/consulta.php on line 53

la linea 53 es
Código PHP:
Ver original
  1. $resasig = mysql_num_rows($casig);
__________________
Say no more.......
  #2 (permalink)  
Antiguo 27/05/2015, 15:30
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años
Puntos: 528
Respuesta: Error contando filas

El error que indicas se produce cuando quieres obtener una fila de una consulta pero el recurso no es correcto, puede suceder si hubiera desconexión de la base de datos o más común cuando la consulta tiene un error, así que te recomiendo mostrar el mensaje de error con

mysql_error() después de
$casig=mysql_query($asig);
  #3 (permalink)  
Antiguo 28/05/2015, 10:17
Avatar de el_cesar  
Fecha de Ingreso: mayo-2001
Ubicación: Cali
Mensajes: 2.423
Antigüedad: 23 años
Puntos: 20
Respuesta: Error contando filas

la solución fué cambiar la manera como estaba pensando la consulta, es decir no traer todo el array sino mas bien recorrerlo con la consulta, mi script quedó así y funciona bien

Código PHP:
Ver original
  1. $cons0="SELECT * FROM Eventuales";
  2. $rcons0 = mysql_query($cons0);
  3. echo "<table width='50%' align='center'><td><img src='logo_jpg.png' width='150' height='150' /></td>
  4.         <td><h1>Eventuales Disponibles</h1></table>";
  5. echo "<table width='50%' align='center'>
  6.         <tr class='titab'><td>Nombre</td><td>Estado</td>";
  7. while ($lis = mysql_fetch_array($rcons0)){
  8.     $idev = $lis['Id_eventual'];
  9.     $nomev = $lis['Nombre'];
  10.     $ceve="SELECT * FROM Evento WHERE Fecha_fin <= '$fecha_inicio' AND id_eventual = '$idev'";
  11.     $rceve = mysql_query($ceve);
  12.    
  13.     $cuenta = mysql_num_rows($rceve);
  14.    
  15.     if($cuenta == '0') {
  16.         echo "<tr><td>".$nomev."</td>";
  17.         echo "<td>Asignar</td></tr>";
  18.     }else
  19.     {
  20.         echo "<tr><td>".$nomev."</td>";
  21.         echo "<td>No esta Disponible</td></tr>";
  22.     }
  23. }

Gracias por la ayuda
__________________
Say no more.......

Etiquetas: filas, html, mysql, select, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 00:40.