Foros del Web » Programando para Internet » PHP »

Problemas con comparacion de registro

Estas en el tema de Problemas con comparacion de registro en el foro de PHP en Foros del Web. Hola de nuevo :) Gracias por leer esto Tengo un problema, ya habia hablado de ello antes en otro tema. Necesito realizar una comparacion usandoregistros ...
  #1 (permalink)  
Antiguo 20/07/2005, 11:37
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
Pregunta Problemas con comparacion de registro

Hola de nuevo :)
Gracias por leer esto
Tengo un problema, ya habia hablado de ello antes en otro tema.
Necesito realizar una comparacion usandoregistros de una tabla, esto con el solo fin de mostrar una simple linea, cuestion de diseño. Me habian dado la solucion de ponerla en una tabla pero no funciono, asi que lo intento hacer con una condicion, diciendo que si existe uno o mas registros de estos entoncse que me ponga una linea, para que asi si no hay registros no ponga linea. Lo q hice fue esto:

Cita:
<?php if ($row_detabla['nombre_campo'] >=1)
{echo "<hr align='center' size='5' width='940' color='#999999' noshade /hr>" ;}
?>
se supone que con esto me deberia mostrar la linea si es que existen registros señalados pero hace cosas raras a veces pone a linea y otras no ¡Ayuda!!!! x faaaa
  #2 (permalink)  
Antiguo 20/07/2005, 11:50
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 19 años, 11 meses
Puntos: 0
dime que base de dato estas usando: si es mysql seria asi

$sql = "select .......";
$rst = mysql_query(.....);
if(mysql_num_rows($rst) == 0 ) no hay registro
else hay registro


espero haberte ayudado
__________________
javier
  #3 (permalink)  
Antiguo 20/07/2005, 12:31
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
Hola Javi:
Si si estoy utilizando mysql y ya hice lo que mencionas pero me marca el siguiente error:
Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in C:\htdocs\noticias\resumennoticias.php on line 263
Como veras esto lo estoy trabajando en dreamweaver pero no se que mas puedo hacer. Lo que estoy ahorita haciendo es revisar los servivios q tengo activados en php pero aun me marca lo mismo :( Estoy desesperada!!!
  #4 (permalink)  
Antiguo 20/07/2005, 13:20
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 19 años, 11 meses
Puntos: 0
puedes mandarme el codigo o ponerlo aqui si tu quieres para ver si te puedo ayudar

pudes enviarme a mi correo [email protected]
__________________
javier
  #5 (permalink)  
Antiguo 20/07/2005, 14:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Por el error que te devuelve el problema está en la consulta SQL, ponela acá o revisala.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #6 (permalink)  
Antiguo 20/07/2005, 14:11
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
pues estoy tratando de hacer un sitio de noticias pero soy novata. Como cuestion de diseño quiero que una linea separe cada noticia y que si alguna noticia no esta entonces q no ponga la linea:
Asi quedaria si estan todas las noticias:

noticia1
---------
noticia2
-------
noticia3
-------

Pero si no estan la noticia 1 ni la 2 entonces quedaria asi:

-------
-------
noticia3
-------

por eso es que quiero hacer esta comparacion:

si hay noticia
pon la linea
si no hay noticia
no pongas linea

Lo que hice fue esto:

$rst = mysql_query("SELECT * FROM noticia WHERE fecha=curdate() AND id_medio = 1");
if(mysql_num_rows($rst) == 0)
{echo "<hr align='center' size='5' width='940' color='#999999' noshade /hr>" ;}
?>
Lo hice para probar unicamente. Se supone que me debe poner la linea si no hay datos que cumplan con la condicion o sea si la consulta no arroja datos, pero me manda el error antes mencionado :(
  #7 (permalink)  
Antiguo 20/07/2005, 14:17
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Probá con

$rst = mysql_query("SELECT * FROM noticia WHERE (fecha=curdate()) AND (id_medio = 1)");

También probá haciendo

die("SELECT * FROM noticia WHERE (fecha=curdate()) AND (id_medio = 1)"); antes de mysql_query para chequear que la consulta quede como quieras una vez llamada la función curdate();

EDIT: fijate que si curdate devuelve texto, debe ir entre comillas ;)

$rst = mysql_query("SELECT * FROM noticia WHERE (fecha='curdate()') AND (id_medio = 1)");

Suerte
fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #8 (permalink)  
Antiguo 20/07/2005, 14:31
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 19 años, 11 meses
Puntos: 0
lice lice

por lo que veo no sabes mucho
1 lugar el mysql_query necesita dos parametro por ejemplo

$con = mysql_conect("Localhost","usuario","clave") or die('Error');

$rst = mysql_query("select * form tabla where condicion ",$con);

me imagino que primero estas aciendo la conexion
__________________
javier
  #9 (permalink)  
Antiguo 20/07/2005, 16:00
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
El segundo parámetro en mysql_query es opcional.
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #10 (permalink)  
Antiguo 20/07/2005, 16:06
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 19 años, 11 meses
Puntos: 0
y otra cosa que se me olvido tienes que seleccionar la base de datos con la que estas trabajando

si se que es opcional el parametro de mysql_query pero es recomendable utilizar
__________________
javier
  #11 (permalink)  
Antiguo 20/07/2005, 23:14
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
Hola:
Gracias por leerme.
Si efectivamente estoy medio mensa (je je) con respecto a estas cuestiones y no se mucho de esto como dije antes soy una novata.
Bueno la conexion ya esta hecha y eso lo se porque los registros aparecen en la previsualizacion del sitio en el explorador, ya sabes con dreamweaver es muy facil y he hecho los juegos de registros ya, asi que en eso no hay problema, el problema es que no quiere reconocerme la variable my_sql_rows, o al menos es lo que yo presiento, pero no lo se, se supone que ya estan hechos los juegos de registros y que en base a eso, sin necesidad de hacer una consulta nueva manualmente ya deberia de darme el resultado, pero algo pasa, y lo raro es que lo he estado haciendo en dos maquinas diferentes (casa y trabajo) pero con las mismas instalaciones y pasan cosas diferentes, porque en la otra maquina no me marca ese error, mas sin embargo no hace lo que quiero que haga. estoy muy confundida y ya llevo todo el dia en esto. :(
Gracias por tomarse su tiempo, de verdad que se los agradezco.
  #12 (permalink)  
Antiguo 20/07/2005, 23:23
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
Poné todo el fragmento de código acá para que lo veamos.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #13 (permalink)  
Antiguo 20/07/2005, 23:35
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
<?php require_once('../Connections/servicionoticias.php'); ?> //hace la conexion
<?php //y aca adelante viene una consulta
mysql_select_db($database_servicionoticias, $servicionoticias);
$query_reg_sol = "SELECT noticia.id_noticia, noticia.id_medio, noticia.id_nivel_noticia, noticia.fecha_noticia, noticia.encabezado_noticia, noticia.titulo_noticia, noticia.notas_noticia, noticia.resumen_noticia, noticia.contenido_noticia, noticia.autor_noticia, medio.nombre_medio FROM noticia left JOIN medio ON noticia.id_medio = medio.id_medio WHERE noticia.fecha_noticia = curdate() AND noticia.id_medio = 1";
$reg_sol = mysql_query($query_reg_sol, $servicionoticias) or die(mysql_error());
$row_reg_sol = mysql_fetch_assoc($reg_sol);
$totalRows_reg_sol = mysql_num_rows($reg_sol); //parece que esta es la variable que ando buscando y que necesito y si efectivamente es esta,
ahora hace lo que quiero, pero esto lo he probado en la maquina mia propia, pero en el trabajo lo probare mañana y les dire, ya que alla me marca un error.
Gracias por todo su tiempo realmente es muy significativo para mi que lean esto. :)
  #14 (permalink)  
Antiguo 21/07/2005, 01:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 670
Antigüedad: 19 años, 2 meses
Puntos: 0
En caso de que no funciona, prueba entrecomillar 'curdate()'

EDIT: no no, me confundí.

Suerte
Fede
__________________
Federico H. García
Desarrollo Web
www.federicog.com.ar
  #15 (permalink)  
Antiguo 21/07/2005, 09:48
 
Fecha de Ingreso: julio-2005
Mensajes: 31
Antigüedad: 18 años, 9 meses
Puntos: 0
Gracias, si funciono ahora lo probe aca y ya no me marco ningun error pero tuve que cambiar los valores de algunas directivas de php.ini.
:) De verdad mil gracias
  #16 (permalink)  
Antiguo 21/07/2005, 09:57
 
Fecha de Ingreso: mayo-2004
Ubicación: SurOeste de Guayaquil
Mensajes: 241
Antigüedad: 19 años, 11 meses
Puntos: 0
de nada lice
__________________
javier
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:52.