Foros del Web » Programando para Internet » PHP »

Comprobar si hay resultados en una búsqueda

Estas en el tema de Comprobar si hay resultados en una búsqueda en el foro de PHP en Foros del Web. Hola a tod@s, para empezar, aviso de que estoy muuuuy verde en php. Estoy modificando, o más bien añadiendo algunas cosas a un código que ...
  #1 (permalink)  
Antiguo 14/06/2007, 04:56
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Comprobar si hay resultados en una búsqueda

Hola a tod@s, para empezar, aviso de que estoy muuuuy verde en php. Estoy modificando, o más bien añadiendo algunas cosas a un código que hizo un compañero.

He conseguido crear un recordset que hace una búsqueda en una base de datos. Ahora lo que me falta comprobar es si hay o no resultados para hacer una cosa u otra. Os pongo el código que tengo de momento y a ver si me podeis echar una manita. Como vereis lo único que me falta (creo) es donde está lo de if(NO HAY RESULTADOS)

Código PHP:
$dia=date(j);
$mes=date(m);
$anyo=date(Y);

        
$eventos odbc_exec$id_agenda"SELECT * FROM Visitas WHERE dia= "$dia " and mes=" $mes ." and anyo="$anyo);
        
        if(
NO HAY RESULTADOS)
        {
            
$texto $texto;
        }
        else
        {
        
            
$texto $texto "AÑADIMOS LO QUE FALTA"

Muchas gracias por adelantado a tod@s. Seguro que es sencillo, pero claro, cuando faltan los conocimientos básicos, la cosa se complica. Salu2
__________________
Vayamos por Partes :: Jack el Destripador
  #2 (permalink)  
Antiguo 14/06/2007, 05:15
Avatar de laaccaal  
Fecha de Ingreso: julio-2003
Ubicación: Murcia
Mensajes: 147
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Comprobar si hay resultados en una búsqueda

La condicion seria:

if($eventos)
__________________
Album Fotos
Blog MisApuntes
  #3 (permalink)  
Antiguo 14/06/2007, 05:24
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Re: Comprobar si hay resultados en una búsqueda

Pueees no me funciona, lo he puesto asi, y siempre entra en el if, aunque se que no puede dar ningun resultado, puesto que he borrado todos los eventos de hoy. También he hecho un echo de uno de los campos, y no saca nada por pantalla, como puede ser??
__________________
Vayamos por Partes :: Jack el Destripador
  #4 (permalink)  
Antiguo 14/06/2007, 05:42
Avatar de laaccaal  
Fecha de Ingreso: julio-2003
Ubicación: Murcia
Mensajes: 147
Antigüedad: 20 años, 9 meses
Puntos: 1
Re: Comprobar si hay resultados en una búsqueda

Hola,
Tendrias que ver la descripcion de odbc_exec .

no me fije bien en tu script, en tu caso seria

Código PHP:
if(!$eventos//o tambien
if($eventos==false
bye
__________________
Album Fotos
Blog MisApuntes
  #5 (permalink)  
Antiguo 14/06/2007, 05:42
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Re: Comprobar si hay resultados en una búsqueda

Por si sirve de algo, la sentencia sql que se ejecuta es la siguiente

Código PHP:
"SELECT * FROM Visitas WHERE dia=".$dia." and mes=".$mes." and anyo=".$anyo
cuyo resultado es

Cita:
SELECT * FROM Visitas WHERE dia=14 and mes=6 and anyo=2007
Los campos consultados son numéricos, asi que supongo que los valores no deben ir entre comillas ni nada, no??

Y el código que he puesto con lo que me ha dicho laaccaal se ha quedado asi:

Código PHP:
$dia=date(j);
$mes=date(m);
$anyo=date(Y);
$sente "SELECT * FROM Visitas WHERE dia=".$dia." and mes=".$mes." and anyo=".$anyo;
echo 
$sente;

        
$eventos odbc_exec$id_agenda"SELECT * FROM Visitas WHERE dia= "$dia " and mes=" $mes ." and anyo="$anyo ."");
        
        if(
$eventos)
        {
        
            
$texto $texto "Añadimos más cosas al texto"
__________________
Vayamos por Partes :: Jack el Destripador
  #6 (permalink)  
Antiguo 14/06/2007, 05:44
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Re: Comprobar si hay resultados en una búsqueda

Tambien he probado el if(!$eventos) que lo he visto por ahi en una parte del código. Como el ! es negación, lo que he hecho es que IF (!$eventos) --> se queda igual, ELSE --> añade más cosas. Sería asi, no?? Pero vamos, que me sigue sin hacer caso
__________________
Vayamos por Partes :: Jack el Destripador
  #7 (permalink)  
Antiguo 14/06/2007, 06:27
GPS
 
Fecha de Ingreso: diciembre-2003
Ubicación: Montevideo, Uruguay
Mensajes: 110
Antigüedad: 20 años, 4 meses
Puntos: 0
Re: Comprobar si hay resultados en una búsqueda

proba con odbc_ num_ rows así:

Código PHP:
$dia=date(j);
$mes=date(m);
$anyo=date(Y);

        
$eventos odbc_exec$id_agenda"SELECT * FROM Visitas WHERE dia= "$dia " and mes=" $mes ." and anyo="$anyo);
        
        if(
odbc_ num_ rows($eventos) == 0)
        {
            
$texto $texto;
        }
        else
        {
        
            
$texto $texto "AÑADIMOS LO QUE FALTA"

Saludos
  #8 (permalink)  
Antiguo 14/06/2007, 06:47
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Re: Comprobar si hay resultados en una búsqueda

No lo entiendo, algo estoy haciendo mal. Da igual lo que haya en la base de datos, siempre se mete por el mismo, por el else. Tanto si hay algun evento en la base de datos, como si no. A alguien se le ocurre porque??
__________________
Vayamos por Partes :: Jack el Destripador
  #9 (permalink)  
Antiguo 14/06/2007, 06:51
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Re: Comprobar si hay resultados en una búsqueda

Acabo de ver que tanto si hay algo en la base de datos, como si no, el odbc_ num_ rows($eventos) es igual a -1. Supongo que cuando no encuentra nada, es -1, y si siempre me da ese resultado, es que aunque en la base de datos hay algo, la búsqueda la estoy haciendo mal, no??
__________________
Vayamos por Partes :: Jack el Destripador
  #10 (permalink)  
Antiguo 15/06/2007, 00:48
Avatar de angel_dope  
Fecha de Ingreso: noviembre-2002
Ubicación: Valencia
Mensajes: 737
Antigüedad: 21 años, 5 meses
Puntos: 8
Re: Comprobar si hay resultados en una búsqueda

Vale, ya se lo que está mal, pero no se porque Resulta que no llega a conectar con la base de datos. He definido la cadena de conexión igual que otras dos que ya estaban creadas, de la siguiente manera:

Código:
//int odbc_connect ( string dsn, string user, string password [, int cursor_type])
$id_intranet = odbc_connect("intranet","","");
$id_informacion = odbc_connect("informacion","","");
$id_agenda = odbc_connect("AgendaVisitas","","");
Las tres BBDD están en el mismo servidor, y las tres DSN a las que accede están creadas y funcionan sin problema desde otras aplicaciones que tengo en asp. Pero las dos primeras conectan, y la tercera que es la que yo he creado no. He puesto lo siguiente

Código:
if($id_AgendaVisitas == 0){
	die('<br><br><br>No conecta con AgendaVisitas<BR><BR>');
}
Y siempre se para la página ahi :( Alguien tiene idea de porque no conecta?? Salu2
__________________
Vayamos por Partes :: Jack el Destripador
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 06:54.