SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Einführung in XHTML, CSS und Webdesign

Einführung in XHTML, CSS und Webdesign zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 08.02.2014, 22:44:39
rizinus rizinus ist offline
Anfänger
 
Registriert seit: Feb 2014
Alter: 59
Beiträge: 2
If Abfrage auf Felder eines komplexen Array funktioniert nicht

Hallo,
ich versuche gerade ein Warenkorb für einen Online Shop zu realisieren. Leider habe ich gerade ein Problem mit einer IF Abfrage auf ein komplexes Array.
So lege ich das Array an:

$_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "size" => $size, "quantity" => 1));

Wenn das Array schon existiert, dann prüfe ich, ob es bereits Einträge hat, wenn ja, muss geprüft warden, ob die „ID“ mit der selben „size“ schon im Array vorhanden sind, wenn ja, dann wird nur die Menge um 1 erhöht.
Die Abrage
foreach ($_SESSION["cart_array"] as $each_item) {
$i++;
while (list($key, $value) = each($each_item)) {
if ($key == "item_id" && "size" && $value == $pid && $size) {

funtkioniert nicht.
Es wird die item_id richtig geprüft, aber size wird nicht geprüft.
Also ist an der IF-Bedingung bzw. an der Adressierung des Feldes size irgendetwas nicht richtig.

Ich benötige ein paar Tips wir ich zwei Felder eines Arrays in einer IF Abfrage prüfe.

Hier des der gesamte Code dazu. Vielen Dank im voraus.

<?php
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// Section 1 (if user attempts to add something to the cart from the product page)
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
if (isset($_GET['pid']) && isset($_GET['size'])) {
$pid = $_GET['pid'];
$size = $_GET['size'];
$wasFound = false;
$i = 0;
// If the cart session variable is not set or cart array is empty
if (!isset($_SESSION["cart_array"]) || count($_SESSION["cart_array"]) < 1) {
// RUN IF THE CART IS EMPTY OR NOT SET
$_SESSION["cart_array"] = array(0 => array("item_id" => $pid, "size" => $size, "quantity" => 1));
} else {
// RUN IF THE CART HAS AT LEAST ONE ITEM IN IT
foreach ($_SESSION["cart_array"] as $each_item) {
$i++;
while (list($key, $value) = each($each_item)) {
if ($key == "item_id" && "size" && $value == $pid && $size) {
// That item is in cart already so let's adjust its quantity using array_splice()
array_splice($_SESSION["cart_array"], $i-1, 1, array(array("item_id" => $pid, "size" => $size, "quantity" => $each_item['quantity'] + 1)));
$wasFound = true;
} // close if condition
} // close while loop
} // close foreach loop
if ($wasFound == false) {
array_push($_SESSION["cart_array"], array("item_id" => $pid,"size" => $size, "quantity" => 1));
}
}
header("location: cart.php");
exit();
}
?>
Mit Zitat antworten
  #2  
Alt 09.02.2014, 04:25:02
rizinus rizinus ist offline
Anfänger
 
Registriert seit: Feb 2014
Alter: 59
Beiträge: 2
AW: If Abfrage auf Felder eines komplexen Array funktioniert nicht

Hallo,
ich habe ein Lösung gefunden.
Nur zur Info, die Lösung:

PHP-Code:

        
foreach ($_SESSION["cart_array"] as $each_item) { 
              
$i++;
                  if (
$each_item['item_id'] == $pid && $each_item['size'] == $size) {
                      
array_splice($_SESSION["cart_array"], $i-11, array(array("item_id" => $pid"size" => $size"quantity" => $each_item['quantity'] + 1))); 
Mit Zitat antworten
Antwort

Stichworte
array


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Array auslesen Oskar PHP Grundlagen 9 05.10.2010 01:55:53
XML DOM PHP4 nach PHP5 till_ch PHP Grundlagen 0 27.06.2009 00:13:33
Doppelte einträge aus einem Mehrdimensionalen Array aussortieren und löschen PHoenix_KM PHP für Fortgeschrittene und Experten 2 17.04.2008 19:19:53
echt verzweifelt: array: unset() funktioniert nicht ??? lingamyoni.de PHP Grundlagen 7 30.10.2002 16:26:16
abfrage wie voll ist ein Array MagicGlass PHP für Fortgeschrittene und Experten 1 19.09.2002 10:24:31


Alle Zeitangaben in WEZ +2. Es ist jetzt 10:33:44 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt