filtrar por una categoria

matiasg
29 de Febrero del 2008
--------------------------------------------------------------------------------
hola a todos, nesecito que me ayudeis ó me expliqueis un poco.
estoy estudiando mysql y php y nesecito OBTENER LAS ULTIMAS NOTICIAS PUBLICADAS DE UNA CATEGORIA filtradas, tengo la consulta SQL que me funciona pero no se como se pone esta aplicacion en PHP y que me funcione la pagina dinamica os dejo lo que yo tengo en la pagina del index.php
---------------------------------------------------------------------------------------------------
// Obtenemos conexión
$conexion = mysql_pconnect($servidor_my_curso_sql, $usuario_my_curso_sql,
$contraseña_my_curso_sql) or trigger_error(mysql_error(), e_usario_or);

// Fijamos la base de datos a utilizar

mysql_select_db($database_my_curso_sql, $conexion);


//hacemos una consulta a SQL (OBTENER LAS ULTIMAS NOTICIAS PUBLICADAS DE UNA CATEGORIA)

$query_sentencia2 = "SELECT DISTINCT noticia.id_noticia, noticia.titulo, descripcion, enlace, palabra_clave, nombre_o_apodo AS usuario, categoria.nombre AS categoria, fecha
FROM noticia, categoria, usuario, depende
WHERE
usuario.id_usuario = noticia.id_usuario AND
depende.id_noticia = noticia.id_noticia AND
depende.id_categoria = categoria.id_categoria AND
categoria.id_categoria = \'$categoria\'
ORDER BY fecha DESC";

$sentencia2 = mysql_query($query_sentencia2, $conexion) or die(mysql_error());

$totalRows_sentencia2 = mysql_num_rows($sentencia2);

esta seria la consulta a una categoria
-----------------------------------------------------------------------------------------------------

y esta seria una lista de categoria

$tecnologia = array(0=>\'cacharros\',1=>\'ciencia\',2=>\'diseño\',3=>\'empresa\',4=>\'energia\',5=>\'hardware\', 6=>\'internet\', 7=>\'juegos\',8=>\'medicina\',9=>\'medio ambiente\',10=>\'novedades\',11=>\'seguridad\',12=>\'software\',
13=>\'software libre\');

------------------------------------------------------------------------------------------------------

y un bucle for para las categorias

$categoria = $_REQUEST["categoria"];

if ($categoria == NULL || $categoria == "total" || $categoria == "tecnologia")
{
//contamos el número de elementos de la tabla

$numElementos = count($tecnologia);

//imprimimos todos los elementos de la tabla

for ($i=0; $i < $numElementos; $i++)

{

echo ("<a href=\'?categoria=tecnologia\'><font color=\'#330099

\'> $tecnologia[$i] </font></a>  \n");

}

}

--------------------------------------------------------------------------------------------------

y esto seria un listado para mostrar la noticia


// listado de categorias para OBTENER LAS ULTIMAS NOTICIAS PUBLICADAS DE UNA CATEGORIA

if (mysql_num_rows($sentencia2) >0)
{
while (list($id_noticia, $titulo, $descripcion, $enlace, $palabra_clave, $usuario, $categoria, $fecha) = mysql_fetch_array($sentencia2))
{

echo "<font color=\'#3366CC\'><h2><a href=\'http://$enlace\'><font color=\'#3366CC\'>$titulo</font></a></h2>\n";

echo "</font>$descripcion<h5>$enlace <p><font color=\'#3366CC\'>Usuario:</font> \n";

echo "$usuario  <font color=\'#3366CC\'>Fecha:</font> $fecha  \n";

echo "<font color=\'#3366CC\'>Categoria:</font> $categoria\n";

echo "<a href=\'votar.php?id_noticia=$id_noticia\'><font color=\'#3366CC\'>votar </font></a> \n";

echo "<a href=\'comentar.php?id_noticia=$id_noticia\'><font color=\'#3366CC\'> comentario</font></a></h5><hr>\n";

}

}


else

{

echo "<font color= \'#FF0000\'>* no se obtuvieron resultados.</small>";

}
--------------------------------------------------------------------------------------------------
bueno creo que es todo, aparte de mas categoria que creo que no hace falta mas

echarme una mano por favor
gracias

medorio
29 de Febrero del 2008
porke no utilizas el group by de sql?

o...porke no te pikas el culo?

no mejor lo primero