Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/10/2008, 08:30
pedromax
 
Fecha de Ingreso: octubre-2008
Mensajes: 2
Antigüedad: 15 años, 6 meses
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.