Nie wiem na jakim poziomie zaawansowania jest to pytanie, ale dodaje do przedszkola

Mój poziom PHP jest podstawowy, więc proszę o jasne i klarowne odpowiedzi

HTML i PHP
Kod
<?php
session_start();
require_once('connection.php');
mysql_select_db($database_connection, $connection);
$query_favorite = "SELECT username, post_id FROM favorite";
$favorite = mysql_query($query_favorite, $connection) or die(mysql_error());
$row_favorite = mysql_fetch_assoc($favorite);
$totalRows_favorite = mysql_num_rows($favorite);
?>
if(isset($_SESSION['valid_user'])){
} else {header('Location: index.php');
};
<a href="#" class="favourite">Favourite</a>
session_start();
require_once('connection.php');
mysql_select_db($database_connection, $connection);
$query_favorite = "SELECT username, post_id FROM favorite";
$favorite = mysql_query($query_favorite, $connection) or die(mysql_error());
$row_favorite = mysql_fetch_assoc($favorite);
$totalRows_favorite = mysql_num_rows($favorite);
?>
if(isset($_SESSION['valid_user'])){
} else {header('Location: index.php');
};
<a href="#" class="favourite">Favourite</a>
SHOW CREATE TABLES z bazy danych
Kod
CREATE TABLE `user` (
`username` varchar(45) NOT NULL,
`email` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`profilepic` varchar(50) DEFAULT NULL,
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `post` (
`post_id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`dato` date NOT NULL,
`category` varchar(100) NOT NULL,
`description` varchar(500) NOT NULL,
`text` longtext NOT NULL,
PRIMARY KEY (`post_id`),
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
CREATE TABLE `favorite` (
`username` varchar(45) NOT NULL,
`post_id` int(11) NOT NULL,
PRIMARY KEY (`username`,`post_id`),
KEY `fk_favorite_post1_idx` (`post_id`),
CONSTRAINT `fk_favorite_user` FOREIGN KEY (`username`) REFERENCES `user` (`username`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_favorite_post1` FOREIGN KEY (`post_id`) REFERENCES `post` (`post_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8
`username` varchar(45) NOT NULL,
`email` varchar(45) NOT NULL,
`password` varchar(45) NOT NULL,
`profilepic` varchar(50) DEFAULT NULL,
PRIMARY KEY (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `post` (
`post_id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(100) NOT NULL,
`dato` date NOT NULL,
`category` varchar(100) NOT NULL,
`description` varchar(500) NOT NULL,
`text` longtext NOT NULL,
PRIMARY KEY (`post_id`),
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8
CREATE TABLE `favorite` (
`username` varchar(45) NOT NULL,
`post_id` int(11) NOT NULL,
PRIMARY KEY (`username`,`post_id`),
KEY `fk_favorite_post1_idx` (`post_id`),
CONSTRAINT `fk_favorite_user` FOREIGN KEY (`username`) REFERENCES `user` (`username`) ON DELETE NO ACTION ON UPDATE NO ACTION,
CONSTRAINT `fk_favorite_post1` FOREIGN KEY (`post_id`) REFERENCES `post` (`post_id`) ON DELETE NO ACTION ON UPDATE NO ACTION
) ENGINE=InnoDB DEFAULT CHARSET=utf8
EDIT:
Myślałam o czymś takim:
Kod
if(in_array($_POST['id'], $row_favorite))
{
// jezeli juz jest w ulubionych, usun z ulubionych
}
else
{
// jezeli nie ma, dodaj do ulubionych
}
<a href="#" class="favourite" data-id="<?php echo $post_id; ?>">Favourite</a>
?>
{
// jezeli juz jest w ulubionych, usun z ulubionych
}
else
{
// jezeli nie ma, dodaj do ulubionych
}
<a href="#" class="favourite" data-id="<?php echo $post_id; ?>">Favourite</a>
?>
ale nie wiem jak to dalej zakodować, tak żeby wysłać dane o poście/artykule i o zalogowanym użytkowniku do bazy danych.