Foros del Web » Programando para Internet » PHP »

Contar registros DB que cumplan condicion de una variable

Estas en el tema de Contar registros DB que cumplan condicion de una variable en el foro de PHP en Foros del Web. Hola, como veréis es la primera vez que escribo en el foro, aunque llevo bastante tiempo leyendo, aprendiendo y por supuesto solucionando mis problemas con ...
  #1 (permalink)  
Antiguo 08/10/2008, 08:30
 
Fecha de Ingreso: octubre-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Contar registros DB que cumplan condicion de una variable

Hola, como veréis es la primera vez que escribo en el foro, aunque llevo bastante tiempo leyendo, aprendiendo y por supuesto solucionando mis problemas con vosotros.

Ahora se me plantea una duda, más bien de concepto, que no logré solucionar, aunque creo que no he dado con la solución ya que no sé ni siquiera qué tipo de busquedas hacer para dar con algo que me ayude, me explico:

Estoy haciendo una web que básicamente contendrá información a modo de noticias, en una página, portada.php que muestre las noticias, contenidas en una tabla tipo a:

Id, titulo, mensaje, categoría, imagen, fecha

También estoy interesado en que los usuarios, sin necesidad de login (no es imprescindible) puedan enviar comentarios a cada noticia, siendo moderados previamente por un administrador. (Los temas a tratar en la web son delicados), mediante una página, enviar_comentarios.php (por ejemplo)

La tabla de comentarios la planteo así:

Id_comentario, Id_noticia, mensaje, nombre_usuario, visible "(SI/NO)"

(La Id_noticia la obtengo pasando una variable por URL desde la portada.php a enviar_comentarios.php, no tengo problemas en eso).

La idea es que el Administrador pueda, mediante una tabla y dos vínculos en la misma, alternar el valor del campo visible, a Si/No, 1/0 o como dios quiera que funcionen los booleanos en SQL

Obviamente la primera pregunta es, ¿Me podeis orientar un poco a la hora de preparar esta ultima opción?

La otra es un poco más sencilla (creo) y va más acorde con el título del post.

Pensaba, en la primera página, donde muestro las noticias (portada.php), colocar el tipico enlace con el texto "Hay XX comentarios a esta noticia" a una nueva página donde se muestre la noticia completa y los comentarios, bien presentada incluso para imprimir...

Imagino que los tiros vayan por hacer algo como:

Código:
SELECT count(*) from comentarios where id_noticia = $id
(A esto es a lo que he llegado buscando por ahí, prohibido reirse

La cosa es que, salvo scripts recuperados de la red, suelo trabajar con dreamweaver a la hora de programar, con lo que me encuentro con una mezcla de variables y arrays que no controlo muy bien, ya que Dreamweaver trabaja a su manera.

Resumiento, que me encuentro con que en la página principal Dreamweaver hace un juego de registros (portada_noticias) por ejemplo y mete todos los valores en un array del estilo:

Código:
mysql_select_db($database_XXX, $XXX);
$query_portada_noticias = "SELECT * FROM noticias ORDER BY fecha DESC";
$query_limit_portada_noticias = sprintf("%s LIMIT %d, %d", $query_portada_noticias, $startRow_portada_noticias, $maxRows_portada_noticias);
$portada_noticias = mysql_query($query_limit_portada_noticias, $XXX) or die(mysql_error());
$row_portada_noticias = mysql_fetch_assoc($portada_noticias);
Con lo que, cuando quiero hacer la consulta esa de marras para contar los registros que cumplen con la condicion dada (Todos los comentarios para XX Id de noticia), he hecho esto:

Código:
$idnot = $row_portada_noticias['id'];
$query = mysql_query("SELECT * from comentarios where id_notic = $idnot");
$filas = mysql_num_rows($query);
Y $filas no tiene nada que ver con lo que yo espero, jeje, es más, toma el valor de "0" que por supuesto no es correcto.

No me enrrollo más, si alguien me pudiera ayudar le estaría muy agradecido ya que estoy un poco atragantado.

Gracias.
  #2 (permalink)  
Antiguo 08/10/2008, 09:47
 
Fecha de Ingreso: mayo-2006
Ubicación: Bogotá
Mensajes: 2.061
Antigüedad: 18 años, 6 meses
Puntos: 50
Respuesta: Contar registros DB que cumplan condicion de una variable

No va mal simplemente tiene que ir mirando por partes

Primero asegurarse de que si le este coenctando a la bd, i sino mirar que esta fallando.
Luego mirar que si le este cargando las noticias
Luego mirar hay si que le cargue el numero de comnetariuos de la noticia

el codigo seria algo parecido a esto:

Código PHP:
<?
// Primero realiza la conexion esa si por tiempo no coloco el codigo y creo que ya lo tiene.
// Ahora cargo las noticias
$carnoticias mysql_query("select * from noticias order by fecCreacion asc");
// Ya usted vera como la organiza para que se vea bonito
while ($datnoticias mysql_fetch_array($carnoticias))
{
    
// Cargo el numero de comentarios que tiene la noticia
   
$carcomentarios mysql_query("select count(*) as Numero from comentarios where idnoticia = '$datnoticias[id]' ");
   
// Obtengo el resultado de la consulta
  
$cancomentarios mysql_result($carcomentarios,0,Numero);
     echo 
"<tr><td>".$datnoticias['nombre']."</td></tr>";
     echo 
"<tr><td>".$datnoticias['contenido']."</td></tr>";
     echo 
"<tr><td> ".$datnoticias['fecCreacion']."</td></tr>";
    echo 
"<tr><td>Esta noticia tiene ".$cancomentarios." comentarios <a href='Pagcomentarios.php?Codigo=$datnoticias[id]'>VERLOS</a></td></tr>";
}
?>
  #3 (permalink)  
Antiguo 08/10/2008, 13:43
 
Fecha de Ingreso: octubre-2008
Mensajes: 2
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Contar registros DB que cumplan condicion de una variable

Más claro el agua,

creo que me estaba lliando con el ****lokesea**** dreamweaver!!!

Gracias!!!
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 22:38.