Arrays und die Datenbank

Liebe Community,


ich lese meine neuen Artikel die in den Warenkorb kommen sollen folgendermaßen ein:
PHP:
$_SESSION['cart'][$_GET['add']] = array( 'quantity'  =>  '1');

Nun möchte ich diese später wieder Aufrufen mit folgendem MYSQL query:

PHP:
$query = "SELECT * FROM `articles` WHERE `articles`.`id` IN (". implode(", ", $_SESSION['cart']) .") ";

Leider wird mit hier immer nur "Array" ausgegebn, anstatt der IDs die ich über $_GET['add']
übertragen habe.

Irgendein Vorschlag?
Grüße,
Vielen Dank
 
Ich habs noch nicht ganz verstanden:

Wie realisiert ich das es den Wert sucht und das Element dan löscht
Früher hab ich das so gemacht:
PHP:
if(in_array($_GET['remove'],$_SESSION['cart'])){
										
$pos=array_search($_GET['remove'],$_SESSION['cart']);
										
unset($_SESSION['cart'][$pos]);
Einfach am Schluss nochmal array_keys() reinhauen?
Gruß,
prinzschleifer
 
Also
PHP:
$pos=array_search($_GET['remove'],array_keys($_SESSION['cart']));
gibt mir schon die richtige Position, nur das unset funktioniert noch nicht so ganz.
Wert bleibt weiterhin im Array :mad:

Gruß,
prinzschleifer


EDIT:

simple aber anders:
PHP:
unset($_SESSION['cart'][$_GET['remove']]);
 
Zuletzt bearbeitet:
Warum nich
PHP:
unset($_SESSION["cart"][$_GET["remove"]]);
?

Zu deinem Prob:
Weil du den Wert von $_GET[remove] in array_keys() suchst und nicht in $_SESSION:
PHP:
array_keys($_SESSION["cart"])
Erzeugt zum Beispiel:
Code:
0 => Sofa
1 => Hund
2 => Flugzeug
3 => Trampolin
4 => Banane

und darin sucht er und findet z.B. das Flugzeug bei 2. Allerdings sieht dein Session-Array (demnach) so aus:
Code:
$_SESSION["cart"]["Sofa"] = 11;
$_SESSION["cart"]["Hund"] = 1;
$_SESSION["cart"]["Flugzeug"] = 2;
$_SESSION["cart"]["Trampolin"] = 0;  // auch ne Möglichkeit ein Artikel rauszunehmen ;)
$_SESSION["cart"]["Banane"] = 12;

Da gibt es kein $_SESSION["cart"][2] das er löschen kann. Also:
PHP:
$aKeys = array_keys($_SESSION["cart"]);
$iPos = array_search($_GET["remove"], $aKeys);
unset($_SESSION["cart"][$aKeys[$pos]]);

Weil $aKeys hat die 2 ;
$aKeys[2] ergibt "Flugzeug" ;
somit wird aus $_SESSION['cart'][$aKeys[$pos]] :
$_SESSION["cart"]["Flugzeug"] ;

EDIT : Na also ;)
 
Zuletzt bearbeitet:
Zurück