Ich hab´s jetzt erst mal so gelöst und funktioniert gut:
Im Template news_full habe ich nur eine Zeile hinzugefügt, damit ich auf die Nachrichten ID zugriff habe
Code:
<div class="check" id="news_<?php echo $this->id; ?>"></div>
Den Rest macht JQuery
Code:
<script type="text/javascript">
$(document).ready(function()
{
var news = $(".check").attr('id');
var strip_news = news.replace('news_', '');
var id = $(".sign").attr('id');
var strip_id = id.replace('user_', '');
$.ajax({
type: "POST",
url: "templates/check_member.php",
data: {"member" : strip_id , "news" : strip_news},
success: function(data)
{
$(".sign").html(data);
$("span.bestaetigung").bind('click',(function()
{
$.ajax({
type: "POST",
url: "templates/bestaetigung.php",
data: {"mitglied" : strip_id , "content" : strip_news},
success: function()
{
$(".sign").hide();
}
});
})
);
}
});
if ( $(".empty").length > 0 )
{
$(".mod_eventlist").hide();
}
});
</script>
Der erste Request Checkt in der Datenbank ob die Nachricht schon gelesen wurde:
PHP-Code:
<?php
function filter($data)
{
$data = trim(htmlentities(strip_tags($data)));
if (get_magic_quotes_gpc())
$data = stripslashes($data);
$data = mysql_real_escape_string($data);
return $data;
}
$db_host = '';
$db_user = '';
$db_pass = '';
$db_database = '';
$link = @mysql_connect($db_host,$db_user,$db_pass) or die('Unable to establish a DB connection');
mysql_set_charset('utf8');
mysql_select_db($db_database,$link);
$memberid = filter($_POST["member"]);
$news = filter($_POST["news"]);
$gelesen = mysql_query("SELECT * FROM int_news WHERE member_id = '".$memberid."' AND news_id = '".$news."'");
$truefalse = mysql_num_rows($gelesen);
if ($truefalse == 0)
{
echo '<p>Ich habe diese Mitteilung gelesen <span class="bestaetigung"></span></p>';
}
else
{
echo '<p>Ich habe diese Nachricht bereits gelesen</p>';
}
?>
Mit dem success des Request wird ein Click Event an den span gebunden der die Bestätigung in die Datenbank schreibt.
Sicherlich nicht der Königsweg und ich hoffe kein richtiger Programmierer bekommt davon Kopfschmerzen, aber vielleicht hilfts ja jemanden auch weiter.
Gruß Rudolpho
Lesezeichen