Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General »

duda urgente

Estas en el tema de duda urgente en el foro de Bases de Datos General en Foros del Web. hola, tengo una duda. Tengo una base de datos con ofertas de empleo, y lo que quiero conseguir es que si no hay ofertas de ...
  #1 (permalink)  
Antiguo 23/08/2004, 04:10
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 19 años, 10 meses
Puntos: 0
duda urgente

hola, tengo una duda. Tengo una base de datos con ofertas de empleo, y lo que quiero conseguir es que si no hay ofertas de empleo, que muestre: en estos momentos no hay plazas vacantes. Lo estoy intentando hacer con mysql_num_rows. El codigo funciona bien en en caso de que existan ofertas, y la funcion devuelve 2, pero si borro todas las ofertas, no muestra el numero de columnas afectadas, y tampoco el mensaje que debe mostrar.

Pongo if ($num<2) xq he obervado que cuando tengo una oferta el numero de columnas que me devuelve es 2. Pero si las borro, deberia mostrarme 1 o 0 columnas, pero no devuelve nada.

Este es el código que tengo

$num=mysql_num_rows($result2);
echo $num;
if($num<2){
echo "En estos momentos no disponemos de plazas vacantes.<br>Por favor, revise esta sección periódicamente para consultar posibles vacantes<br>Gracias por su interés";
}
else {
$string_query2=base64_encode("puesto=$puesto&descr ipcion=$descripcion&plazas=$plazas");
echo "<td align='center'><a href = \"javascript: popup('ver_oferta.php?$string_query2',400,400)\">< b>". $row2['puesto']."</b><br>";
echo"</a><br>";
echo"</td>";
}


Alguien sabe como puedo solucionarlo?
  #2 (permalink)  
Antiguo 23/08/2004, 08:02
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
¿Por qué no te lo planteas al contrario?, en lugar de preguntar para mostrar que no hay ofertas, dale la vuelta y condiciona a que existan filas:
Código PHP:
if ( mysql_num_rows($result2) )
{
$string_query2=base64_encode("puesto=$puesto&descripcion=$descripcion&plazas=$plazas");
echo 
"<td align='center'><a href = \"javascript: popup('ver_oferta.php?$string_query2',400,400)\"><b>"$row2['puesto']."</b><br>";
echo
"</a><br>";
echo
"</td>";
}
else
{
echo 
"En estos momentos no disponemos de plazas vacantes.<br>Por favor, revise esta sección periódicamente para consultar posibles vacantes<br>Gracias por su interés";

Una cosa que hay que tener en cuenta con mysql_num_rows, es que precisas de obtener un resultado no vacío para que funcione correctamente.
Un saludo.
NOTA: Esto es más una pregunta de programación que de base de datos.
  #3 (permalink)  
Antiguo 24/08/2004, 01:32
 
Fecha de Ingreso: junio-2004
Mensajes: 101
Antigüedad: 19 años, 10 meses
Puntos: 0
pero entonces con mysql_num_rows no funcionará bien

hola, gracias por tu respuesta. pero si mysql_num_rows, precisa de un resultado vacio, entonces no funcionará bien lo que yo quiero hacer, que es lo que me pasa poniendo también lo que me has dicho.
No hay ningun función de mysql que permita hacerlo?
  #4 (permalink)  
Antiguo 24/08/2004, 09:45
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
La única función que te devuelve el número de filas es esa y no es de mysql, sino de php.
Si quieres el número exacto siempre, ejecuta
select count(*) from tabla where ...
para comprobar el número de filas, si te da mayor que 0, pues ya vas a por el resultado.
Un saludo.

Última edición por Vice; 24/08/2004 a las 09:48
  #5 (permalink)  
Antiguo 24/08/2004, 09:55
Avatar de Vice  
Fecha de Ingreso: agosto-2003
Mensajes: 613
Antigüedad: 20 años, 9 meses
Puntos: 2
Por cierto, yo lo estoy usando en la forma que te puse antes y me funciona correctamente: bien cuando devuelve filas y bien cuando no las devuelve.
Un saludo.
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 09:53.