php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2008

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.12.2007, 19:31  
Neuer Benutzer
 
Registriert seit: 26.08.2007
Beiträge: 6
Muuip
Standard Warenkorb Gesamtbetrag

Hallo zusammen

Ich bekomme mein Gesamt Warenpreis mit den folgenden Script:
PHP-Code:
if(isset($_SESSION[$data[0]]))
     {
     
$ep $data[2] ;  // Preis pro Stuck
     
$EP str_replace',' '.'$ep);
     
$GP number_format($_SESSION[$data[0]]*$EP',' ' ')  . " €"// Anzahl Stuck bestellt * preis pro Stuck
     
echo $GP // Warenpreis
     

Nun möchte ich den Gesamtbetrag von alle Warenpreis kalkulieren, soll ich array_sum() oder irgendein Schleife nutzen? Gibt’s es andere Möglichkeiten?

Danke.
Muuip ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 01.12.2007, 20:50  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Was ist der Unterschied zwischen "Gesamt Warenpreis" und "Gesamtbetrag von alle Warenpreis"?

Dein Skript ist übrigens schlimm, wer soll etwas mit $data, $ep, $EP, $GP anfangen? Das ist eine Katastrophe zum Bearbeiten! Schreib die Abkürzungen lieber aus!
Zergling-new ist offline  
Alt 01.12.2007, 21:26  
Neuer Benutzer
 
Registriert seit: 26.08.2007
Beiträge: 6
Muuip
Standard

Hallo danke für deine Antwort

Hier folgt ein bessere Script:
übrigens, $data[2] ist der Preis für ein Artikel in ein csv Datei. Der Preis wird von die Datei.csv gelesen

PHP-Code:

<?php if(isset($_SESSION[$data[0]])) 
     {  
     
$einzelpreis str_replace',' '.'$data[2]); // Preis pro Stuck aus Datei 
     
$gesamtpreisproartikel number_format($_SESSION[$data[0]]*$einzelpreis',' ' ')  . " €"// Anzahl  * preis pro Stuck 
     
echo $gesamtpreisproartikel // Gesamt Preis für [b]ein[/b] bestimmt Artikel
     
}
Damit bekomme ich den Preis für ein bestimmt Artikel, egal ob ein davon oder mehrere.

Dann möchte ich den Gesamtbetrag von den ganzen Warenkorb, also von Alle Artikeln.

Irgendwie muss ich das Ergebnis von jede Artikel zusammen addieren; also alle $gesamtpreisproartikel zusammen addieren.
Muuip ist offline  
Alt 01.12.2007, 22:06  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Hallo,
zunächst solltest du die Datei nicht plump in die Session legen, sondern eine Dimension einfügen: $_SESSION["shop"]["articles"] wäre so eine Dimension die sinnvoll wäre. Andernfalls blockiert dein Import aus der CSV-Datei die komplette Session.

Zum Zusammenrechnen eignet sich wohl am Besten eine for/foreach-Schleife.

Übrigens: Versuch doch mal einen Datensatz aus deinem CSV als ein Objekt darzustellen, dann wäre ein
PHP-Code:
<?php
$total 
0.0;
foreach (
$_SESSION["data"]["articles"] as $article) {
  
$total += $article->getPrice();
}
?>
möglich.
Zergling-new ist offline  
Alt 02.12.2007, 14:23  
Neuer Benutzer
 
Registriert seit: 26.08.2007
Beiträge: 6
Muuip
Standard

Danke ich habe nun ein besseres Verständnis von dem Problem wegen Import aus .csv Datei.
Ist es überhaupt möglich eine Datei mit PHP5 (ohne OOP) in eine Dimension einzufügen?

Ich bin gerade dabei eines dickes Buch von Matthias Kannengiesser über OOP mit PHP5 durchzulesen, aber ich bin noch nicht so weit mit OOP zu programmieren also versuche ich diesen Aufgabe mit einfach PHP5 zu erledigen. Es ist ja auch ins Deutsch geschrieben, gutes Herausforderung für mich.

Mein beste Versuch hat die folgende Ergebnis: Den Betrag von die letzte Ware in den Warenkorb wird ausgegeben, und das so oft wie die Gesamt count von Artikeln in der Warenkorb. Also wann ich habe z.B. 3 Artikeln im Warenkorb, die Gesamtpreis für Artikel Nr 3 wird 3 Mal ausgegeben statt die Ergebnis von Artikel 1 + Art. 2 + Art. 3.

Hier folgt mein Script:

PHP-Code:
 $erg ;
        foreach(
$_SESSION as $erg)
        {
        
$erg += $gesamtpreisproartikel ;
        echo 
"Gesamtbetrag = " number_format($erg',' ' ')  . " €" ;
        } 
Danke für die Nette Hilfe!
Muuip ist offline  
Alt 02.12.2007, 14:47  
Erfahrener Benutzer
 
Registriert seit: 14.10.2007
Beiträge: 306
PHP-Kenntnisse:
Fortgeschritten
Papst befindet sich auf einem aufstrebenden Ast
Standard

öhm, das dürfte so nicht funktionieren, du überschreibst dir die variable immer wieder bei jedem Schleifendurchlauf...
Papst ist offline  
Alt 02.12.2007, 15:10  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Muuip,

Zitat:
Ist es überhaupt möglich eine Datei mit PHP5 (ohne OOP) in eine Dimension einzufügen?
Das ist sicher möglich. Man muss einen Zeileneintrag während des Auslesens in ein Objekt mappen. Das geht ungefähr so:

PHP-Code:
<?php
   
class Article
   
{
      private 
$__Price;
      private 
$__Name;

      function 
get($Attribute){

         if(isset(
$this->{'__'.$Attribute})){
            return 
$this->{'__'.$Attribute};
          
// end if
         
}
         else{
            return 
null;
          
// end else
         
}

       
// end function
      
}

      function 
set($Attribute,$Value){
         
$this->{'__'.$Attribute} = $Value;
       
// end function
      
}
   }


$file 'articles.csv';
$fh fopen($file,'w');
$Articles fgetcsv($fh,filesize($file),';');
ArticleList = array();
foreach(
$Articles as $Article){

   
$CurrentArticle = new Article();
   
$CurrentArticle->set('Price',$Article[1]);
   
$CurrentArticle->set('Name',$Article[0]);
   
ArticleList[] = $CurrentArticle;
   unset(
$CurrentArticle);
}

echo 
'<pre>'.print_r($ArticleList,true).'</pre>';
?>
Den Rest kannst du ja anpassen.
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
Alt 02.12.2007, 15:19  
Neuer Benutzer
 
Registriert seit: 26.08.2007
Beiträge: 6
Muuip
Standard

Ist dass vielleicht möglich innerhalb meine foreach Schleife jede Ergebnis in eine Array (vor es wird überschrieben) zu speichern? Danach ich könnte einfach mit array_sum( ) den Gesamtbetrag bekommen.
Muuip ist offline  
Alt 02.12.2007, 15:25  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo Muuip,

sicher ist das möglich. Ich habe mein Beispiel nochmal verbessert, da noch die Aufnahme in die Liste gefehlt hat.

Da du zur Darstellung das Array ohnehin durchlaufen musst, kannst du doch einfach ein

PHP-Code:
<?php
   $Sum 
= (float) 0;
   foreach(
$ArticleList as $Article){

      echo 
'
'
.$Article->get('Name');
      
$Sum += (float) $Article->get('Price');

   }
   echo 
'
Summe: '
.$Sum;
?>
machen?!
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Warenkorb unregistrierter User Exon PHP Tipps 2007 3 25.05.2007 19:15
Problem mit Warenkorb (Session/Array) Charly Shop Sui PHP Tipps 2006 5 30.08.2006 15:14
Query was empty bei Warenkorb Shalina PHP Tipps 2006 12 10.06.2006 00:45
[Erledigt] Warenkorb Alternative PHP-Fortgeschrittene 28 18.04.2006 14:19
warenkorb Artikelanzahl verringern Mach!N3 PHP Tipps 2006 59 30.03.2006 08:09
warenkorb & mysql Mach!N3 PHP Tipps 2006 16 27.03.2006 21:18
neuen Warenkorb anlegen PHP Tipps 2005 2 26.05.2005 16:09
neuen Warenkorb erstellen PHP Tipps 2005 2 15.05.2005 14:10
warenkorb oder shop system PHP Tipps 2005 4 15.01.2005 19:51
[Erledigt] Hilfe - Problem mit Warenkorb PHP Tipps 2004 1 26.11.2004 11:32
einfacher warenkorb Beitragsarchiv 3 23.11.2004 16:24
Warenkorb - neuer Session Datensatz! Broadcast PHP Tipps 2004 7 29.10.2004 18:05
anleitung für warenkorb bratwurstschorsch PHP Tipps 2004 1 25.10.2004 21:59
Artikelsuche - Warenkorb PHP Tipps 2004 9 12.10.2004 12:48
Problem mit Warenkorb PHP Tipps 2004 6 25.06.2004 00:54

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php5 warenkorb, warenkorb aus csv php erstellen, php script warenkorb artikel addieren, warenkorb script php, php gesamtbetrag?, warenkorb script php zusammenzählen, phpcode warenkorb artikel addieren

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:12 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.