hi,
kurze erklärung, auf der page werden verschiedene zeitungsartikel angezeigt die ich, bei auswahl, per link in einem session cookie speichere (sprich in einem warenkorb).
anschliessend kann man sich die ausgewählten artikel anschauen und als pdf generieren lassen ;)
soweit funktioniert das wunderbar.
hab jetzt nur ein kleines problem, in der session wir die 'id' des artikels und die 'zeitschrift' in der der artikel stand gespeichert. anschliessend wird eine mysql abfrage ausgeführt um mir die artikel die in der session gespeichert sind anzeigen zu lassen
das ganze sieht bis jetzt so aus
PHP-Code:
<?
session_start();
if (!isset($_SESSION['recherche']))
//die $s_id enthält die id des artikels
//$mag enthält den namen der zeitschrift
$_SESSION['recherche'] = array();
$_SESSION['recherche'][] = array('a_id'=>$s_id, 'maga'=>$mag);
$data = array();
foreach($_SESSION['recherche'] as $eintrag)
$data[] = "id='" . $eintrag['a_id'] ."'";
$read = implode (" or ", $data);
include("../connect/dbconnect.php");
$query=mysql_query("SELECT * FROM artikel WHERE $read");
?>
nun werden die werte in einer while schleife ausgegeben (gekürzte fassung), und wenn nun eine liste wie in meinem beispiel ausgegeben wird möchte ich es möglich machen das man den zweiten artikel löschen kann, jedoch der 1 und 3 erhalten bleiben
beispiel:
es wurden gespeichert
id mag
1 test1 löschen
2 test2 löschen
3 test3 löschen
der code dazu sieht so aus:
PHP-Code:
<?
while ($show = mysql_fetch_array($query)) {
reset($_SESSION['recherche']);
while (list($key, $value) = each($_SESSION['recherche'])) {
if ($show['id'] == $value['a_id']) {
$magazin = $value['maga'];
break;
}
}
echo "<TR>
<TD>
<P>".$magazin."</P>
</TD>
<TD ALIGN=CENTER>
<P><a target="Haupttext" href="body_recherche.php?un=".$show['id'].""><IMG SRC="../assets/images/del.jpg"></P>
</TD>";
?>
nachdem der link hinter des jeweiligen artikels geklickt wurde wird in der variablen $un die id des zu löschenden artikels übermittelt. ich versuche nun mit unset diesen aus der session zu löschen und genau da liegt mein problem. er löscht nicht nur den einzelnen artikel, es werden alle in der session gespeicherten artikel gelöscht :/
hier mein unset
PHP-Code:
if ($un!=''){
unset($_SESSION['recherche'], $eintrag['a_id']);
}
die frage ist nun was mache ich falsch und wieso löscht er alles?
achja eine weitere frage, in dem lokalen verzeichnis temp sehe ich ja die erstellten cookies. die heisen ja meist sess_e73427... ab und zu wird aber zu diesem cookie ein weiteres erstellt das sich eaccelerator-b26... nennt. weis jemand was es damit auf sich hat?
es beeinflusst soweit ich das sehe nicht das geschehen aber ich finde es nervig, weil in diesem cookie nur unsinn drin steht :/