Bienvenido a datoweb.com!! En este foro podrás encontrar ayuda sobre diseño y desarrollo web en general. Si quieres formar parte de esta comunidad para pedir ayuda o colaborar ayudando a otros usuarios del foro solo tienes que registrarte desde el siguiente enlace: Registrarse en el Foro

Problema con favoritos

Hola a todos. Antes que nada un saludo puesto que soy nuevo por aquí.

Hace meses que sigo el Curso pagina web responsive y estoy atascado con el tema de favoritos, que he rescatado del Curso pagina web avanzada.

El asunto es que he resuelto con éxito incluir los post en favoritos, pero he ido más allá y lo estoy intentando con incluir autores a favoritos, que es donde estoy atascado.

Incluirlos en la base de datos no me ha supuesto problema, pero no soy capaz de mostrar en el html el recurrente "Ya favorito" y que desaparezca el link para añadir a favoritos.

La consulta para la inserción en base de datos es la siguiente (Repito que la inserción se realiza con éxito):
<?php require_once('../conexion.php');

$accion_verpost = sprintf("INSERT INTO autor_favorito (id_autor_creador, id_autor) VALUES (%s, %s)",

formatearcadena($_SESSION['iduser'], "int"),
formatearcadena($_GET['favoritosaut'], "int"));

$consulta_verpost=mysqli_query($conexion,$accion_verpost) or die(mysqli_error());

header("Location:".$_SERVER['HTTP_REFERER']);

?>
(autor_favorito) es la tabla.
(id_autor_creador) es el usuario que incluye al autor en favoritos.
(id_autor) es, por lógica, el autor que se añade a la lista de favoritos.

/---------------------------------/

El código HTML es este:
$slugpost=$_GET['slug'];

<p>AUTOR FAVORITO</p>
<?php if (isset($_SESSION['iduser'])){?>
<div id="usuario_op">
<?php if (autor_en_favoritos($_SESSION['iduser'],$slugpost)){?>
<a href="<?php echo $dato[1]; ?>inc/favorito-autor.php?favoritosaut=<?php echo $datos_verpost['id_autor'] ?>">Agregar a mis favoritos</a>
<?php } else echo "Añadido como favorito";?>
<?php }?>
NOTA: yo utilizo 'slug' en lugar de 'seo'.

/----------------------------------/

Por último, la función para determinar si el autor ya está en favoritos es esta:
//Saber si el autor ya esta en favoritos
function autor_en_favoritos($iduser, $idpost)
{
global $conexion;

$accion_AutorEnFavoritos = sprintf("SELECT * FROM autor_favorito WHERE id_autor=%s AND id_relato = %s",
formatearcadena($iduser, "int"),
formatearcadena($idpost, "int"));
$consulta_AutorEnFavoritos=mysqli_query($conexion,$accion_AutorEnFavoritos);
$datos_AutorEnFavoritos=mysqli_fetch_assoc($consulta_AutorEnFavoritos);
$cantidad_AutorEnFavoritos=mysqli_num_rows($consulta_AutorEnFavoritos);

if ($cantidad_AutorEnFavoritos=="") return true;

else
return false;

mysqli_free_result($consulta_AutorEnFavoritos);
}
NOTA: he dejado las variables y lo incluido en el WHERE tal cual lo tengo para el post favorito. Más que nada porque aquí es donde no tengo la menor idea de cómo hacer las relaciones.

Gracias y repito el saludo.

EDITO: Si fuera posible indicarme cómo mostrar un aviso de que se ha incluido en favoritos, sería igualmente de agradecer.
Editado
0
Puntos
1146
Visitas
3
Resp
Por javierBM hace 85 meses
Principiante
Respuesta #1
hola, loas autores favoritos donde quieres mostrarlos? en una pagina dedicada a autores favoritos o poner todos sus artículos directamente en la pagina post favoritos?

perdona las preguntas pero algo difícil de entender tu consulta ya que no podemos ver el proyecto completo como es obvio

salu2
1
Puntos
Por alber hace 85 meses
Administrador
Respuesta #2
Hola, alber. Gracias por tu interes. Te explico.
yo tengo en el perfil de usuario un listado con los post favoritos y otro con los autores favoritos. Esto lo tengo hecho y funcional.

Luego, en los post tengo un boton para añadir el post a favoritos y funciona bien, ya que no solo los guarda en la base de datos, sino que tambien sustituye el típico "Añadir post a favoritos" por el "Ya en favoritos", impidiendo, por lo tanto, que vuelva a incluirlo.

El problema lo tengo con el botón "Añadir autor a favoritos" que también está en cada post. Este me guarda bien los autores en su tabla, pero no soy capaz de conseguir que "Añadir autor a favoritos" se sustituya por "Ya en favoritos" e impida que lo vueva a incluir dos, tres, o las veces que sea.
Si no estoy equivocado, creo que el problema lo tengo en la function autor_en_favoritos($iduser, $idpost) que sería la que mostrara el "Ya en favoritos" e impida que se añada varias veces el mismo autor. Obviamente, al estar el autor en favoritos, en todos sus post debería aparecer por defecto el "Ya en favoritos".
Por cierto, lamento si no me expliqué con claridad la primera vez (yo pensaba que sí).
Gracias de nuevo.




0
Puntos
Por javierBM hace 85 meses
Principiante
Respuesta #3
Hola de nuevo.
Regreso para decir que ya resolví el problema que, dicho sea de paso, era una tontería. Tanto como cambiar esto:
<?php if (autor_en_favoritos($_SESSION['iduser'],$slugpost)){?>
por esto:
<?php if (autor_en_favoritos($_SESSION['iduser'],$datos_verpost['id_autor'])){?>
0
Puntos
Por javierBM hace 85 meses
Principiante
Compartir en facebook
Compartir en twitter
Compartir
Para comentar Inicia sesión o Registrate