Noticias y Aludidos

Hola,
Quiero crear una página de noticias en mi web.
Para ello, voy a construir una bbdd con (FechaHora, Noticia, Autor, Aludidos).
Aludidos sirve para nombrar a persona que tienen relación con la noticia.
Después, quiero que en la página perfil de esas personas (extraída de otra tabla aparte que muestra sus perfiles) salga la primera linea de la noticia/s, en caso de que este aludido.
¿Cómo puedo hacer esto?
Mi gran duda es: Si hay un solo aludido, creo que esta bien. ¿Qué pasa si hay 8 personas aludidas? ¿Tengo qué crear 7 campos más en la tabla?
GraciaS!

1 Respuesta

Respuesta
1
La manera correcta de hacer esto, sería no hacer un campo Aludidos sino una tabla Aludidos.
Tu primera tabla debería tener un campo de índice y la tabla Aludidos, el nombre del aludido y la referencia al índice de la noticia a la que se refiere.
Si te parece demasiado complicado y si prevés que no haya demasiados aludidos, también puedes crear el campo Aludidos como has planeado y guardar en él los nombres separados por comas para luego poder diferenciarlos.
Perfecto!
Lo he construido así pero tengo problemas al mostrar algunas cosas:
- Cuando quiero mostrar mi página de noticias, llamo a todas las noticias, su autor y fecha. Pero también quiero llamar a los Jugadores Aludidos en la noticia.
Dado que son varios campos por Noticia, ¿cómo debo traerlos y mostrarlos? Supongo que un array, pero me lío a la hora de insertarlo en la tabla:
$result = mysql_query("SELECT * FROM noticias");
echo "
<table>
";
while($row = mysql_fetch_array($result))
{
echo "
<td>"."</td>
";
echo "
<tr>
<td align='left'>"."Autor: "."<font face=Arial><b>".$row['Autor'] . "</b></center></td>
";
echo "
<td align='left'>". "Fecha: "."<b>".$row['FechaHora']."</b></td>
</tr>
";
echo "
<td colspan=2 align='left'><font face=Arial color=#003366 size=2>" . $row['Noticia'] . "</td>
";
}
echo "
</table>
";
Gracias!
Para cada noticia que leas, puedes ejecutar otra sentencia SQL que te suministre los aludidos de esa noticia. Pon dentro del bucle:
$result2 = mysql_query("SELECT * FROM aludidos WHERE noticia=$row[id]")
Deberás adaptarlo a tu caso para como se llame cada campo. Se supone que el campo noticia de la tabla aludidos referencia al campo id de la tabla noticias, que es el que los relaciona.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas