Der Sinn des Ganzen ist es Cookies zu updaten.
Ich speichere in einem Cookie Lesezeichen zu bestimmten Artikeln, und wenn ich mir an Hand des Cookies eine Liste aller mit Lesezeichen versehenen Artikel anzeigen lasse, möchte ich gleichzeitig im Cookie die Id's der Artikel löschen die nicht mehr öffentlich sichtbar sind(aber noch in der Datenbank) und deshalb in der Spalte 'deleted' den Wert '1' haben.
Der Cookie sieht folgender Massen aus:
Name Bookmark
Content 1:4:9:17 ( halt eine : getrennte Liste der Id's)
...
Beim Aufrufen der Lesezeichen Seite lese ich den Cookie und generiere mir die Selectsyntax:
$bookmarks = explode(":",$_COOKIE["Bookmark"]);
if (!empty($bookmarks)){
$selectsyntax2 = $selectsyntax2." AND (";
foreach($bookmarks as $index => $value) {
if ($index != 0) {
$selectsyntax2 = $selectsyntax2 . " OR";
}
$found_bms .= ":".$value;
$selectsyntax2 = $selectsyntax2." ad_ID ='".$value."'";
}
$selectsyntax2 = $selectsyntax2 ." )";
}
$selectsyntax2 füge ich dann in die restliche Select Syntax ein:
$sql="SELECT * FROM advertisement WHERE ad_Approved='1' AND ad_Deleted='0' ".$selectsyntax2." ORDER BY ad_CreateDate DESC";
In der Ausgabe:
$query = mysql_query($sql) or die(mysql_error());
if(mysql_num_rows($query) >= 1){
$found_ads="0";
while($row = mysql_fetch_array($query)) {
$found_ads .=":".$row['ad_ID'];
echo"...";
}
update_bookmark($found_bms,$found_ads);
}
Mit $found_bms und $found_ads hab ich bis jetzt errechnet welche Lesezeichen nicht mehr sichtbar sind.
Die Datenbanktabelle ist (vereinfacht):
ad_ID | ad_Title | ad_Description | ad_Approved | ad_Deleted
1 | Eintrag1 | Beschreibung1 | 1 | 0
2 | Eintrag2 | Beschreibung2 | 1 | 0
3 | Eintrag3 | Beschreibung3 | 1 | 1
4 | Eintrag4 | Beschreibung3 | 0 | 0
Der Cookie hätte folgenden Wert 2:1:3.
Es würden also nur die Einträge 1 und 2 angezeigt, und ich möchte '3' als gesuchten aber nicht ausgegebenen Wert iergendwie zurück erhalten. Im Moment gibt mir das die Funktion update_bookmark zurück. Aber wie gesagt ich möchte wenn möglich eine MySql Funktion benutzten