php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 15.02.2010, 23:54  
Neuer Benutzer
 
Registriert seit: 22.10.2009
Beiträge: 22
PHP-Kenntnisse:
Anfänger
sl0t befindet sich auf einem aufstrebenden Ast
Standard Variablen die eine oder mehrere Bedingungen erfüllen, abfragen und zusammen rechnen

Guten Abend Zusammen,

ich habe folgendes Problem:

bei mir haben einige Produkte eine Einrichtungsgebühr einige haben nur einmalige Kosten und andere monatliche Kosten. Die Produkte sind als solche auch in der Datenbank gekennzeichnet, nun möchte ich nach der Bestellung das die einmaligen Kosten zusammengerechnet werden und die monatlichen auch, aber irgendwie bekomme ich es nicht hin diese zu trennen und gleichzeitig zusammen zu rechnen.


PHP-Code:
//hiermit hole ich mir den Preis von dem Produkt aus der Tabelle. Die Abfrage mache ich bei mehreren Produkten.

$abfrage "SELECT produktname, preis FROM produkte WHERE produktname LIKE '$produkt1' ";
$ergebnis mysql_query($abfrage);
$row mysql_fetch_object($ergebnis);
$produkt1preis $row->preis;
if(
$row->produktname == $produkt1 and $produkt1 !="")
    {
    echo 
"$row->preis €";
    }


//hiermit versuche ich die Einmaligen Kosten zu addieren und da scheitere ich auch schon dran, den bei vielen Produkten wo einige mit und einige ohne Vertrag sind, würde ich ja die ganze Nacht elseif schreiben :)

$produktpreis1 str_replace(",",".",$produktpreis1);
        
$produktpreis2 str_replace(",",".",$produktpreis2);
        
$produktpreis3 str_replace(",",".",$produktpreis3);
        
$produktpreis4 str_replace(",",".",$produktpreis4);
        
        
$gesamtpreis1 $produktpreis1+$produktpreis2+$produktpreis3+$produktpreis4;
        
$gesamtpreis1 str_replace(".",",",$gesamtpreis1);
        
        
$gesamtpreis2 $produktpreis2+$produktpreis3+$produktpreis4;
        
$gesamtpreis2 str_replace(".",",",$gesamtpreis2);
        
        
$gesamtpreis3 $produktpreis1+$produktpreis3+$produktpreis4;
        
$gesamtpreis3 str_replace(".",",",$gesamtpreis3);
        
        if (
$produkt1 =="Produkt ohne Vertrag" and $produkt2 !="Produkt mit Vertrag") {
        echo 
"$gesamtpreis1 €";
        }
        elseif (
$produkt1 =="" and $produkt2 !="Produkt mit Vertrag") {
        echo 
"$gesamtpreis2 €";
        }
        elseif (
$Produkt1 =="Produkt ohne Vertrag" and $Produkt2 =="") {
        echo 
"$gesamtpreis3 €";
        } 
Das ganze müsste ich dann auch noch mit dem monatlichen Kosten ausrechnen und ich weiß nicht wie, hier habe ich dann abgebrochen und versucht über Google was raus zufinden, allerdings weiß ich nicht wo ich ansetzten soll, hänge schon ne ganze weile daran.

wäre klasse wenn sich das mal jemand anschauen und mir einen Tipp kann.

Ein link von einem Tutorial wo eben sowas ähnliches vorkommt wäre auch super.

Danke im Vorraus
sl0t ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 16.02.2010, 09:04  
Moderator
 
Benutzerbild von Asipak
 
Registriert seit: 18.07.2005
Beiträge: 4.072
Asipak sorgt für eine eindrucksvolle AtmosphäreAsipak sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo,

man kann auf den ersten Blick erkennen, dass du einen falschen Feldtyp für die Spalten ausgewählt hast, in denen du deine Preise speicherst. Hier würde sich `DECIMAL` oder `FLOAT` anbieten, dann ersparst du dir das Ersetzen des Kommas durch einen Punkt und kannst sofort, auch schon mit MySQL, losrechnen.

Wo genau dein Problem liegt, kann ich nicht erkennen. Die Variablen unterscheiden sich nur durch eine Zahl am Ende des Namens. Woher soll man wissen, was für monatliche Fixkosten steht?

Am besten fängst du daher mal an, die Datenbank anzupassen (Spaltentyp) und baust die Rechnung mal übersichtlicher auf und erklärst uns, wo du jetzt was und wie hinzurechnen willst.

Gruß
Asipak ist offline  
Alt 16.02.2010, 11:08  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Asipak Beitrag anzeigen
Hallo,

man kann auf den ersten Blick erkennen, dass du einen falschen Feldtyp für die Spalten ausgewählt hast, in denen du deine Preise speicherst. Hier würde sich `DECIMAL` oder `FLOAT` anbieten, dann ersparst du dir das Ersetzen des Kommas durch einen Punkt und kannst sofort, auch schon mit MySQL, losrechnen.
Wobei es bei float auf den set_locale(); ankommt, zumindest was php angeht. Ist der deutsch gesetzt, dann wird da eben mit Komma gerechnet, ansonsten mit einem Punkt. Das Problem hatte ich nämlich auch erst vor kurzen und da wurde mir das so gesagt.
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 16.02.2010, 11:51  
Erfahrener Benutzer
 
Benutzerbild von drsoong
 
Registriert seit: 05.08.2008
Beiträge: 1.127
drsoong wird schon bald berühmt werden
Standard

Hi

ja unbedingt die Rechnerei in die Datenbank verlagern. Die Chance, Deinen Code um 80% zu kürzen steht nicht schlecht.

Wenn Du ein bischen mehr über die Logik bzgl. Produkt und Preisfindung mitteilst, können wir sicherlich auch noch direkter antworten. Von welchen Faktoren ist den die Berechnung der monatlichen Kosten abhängig. Was willst zum Schluss ausgeben. Gib mal zwei, drei Klartextbeispiele. Der User gibt einen Suchbegriff (?) ein und soll dann was zu sehen bekommen...? Oder wie...
drsoong ist offline  
Alt 16.02.2010, 23:34  
Neuer Benutzer
 
Registriert seit: 22.10.2009
Beiträge: 22
PHP-Kenntnisse:
Anfänger
sl0t befindet sich auf einem aufstrebenden Ast
Standard

Danke für die Antworten, ich verstehe nur nicht wie ich die Rechnerrei in der Datenbank verlagern kann.

Also ich habe 5 Kategorien in jeder Kategorie habe ich verschiedene Dienstleistungen anzubieten, einige Dienstleistungen biete ich für einen einmaligen Preis an und andere nur mit einem 12 monatigen Vertrag. Die Dienstleistung die ich nur mit einen Vertrag anbiete haben in der Datenbank eine Spalte "Vertrag" mit "ja" oder "nein".

Der Kunde kann in dem Bestellformular nun mehrere Dienstleistungen gleichzeitig bestellen, einige mit Vertrag und einige ohne, manche haben eine Einrichtungsgebühr und andere nicht.

ich möchte das der Kunde, bevor er bestellt eine Zusammenfassung lesen kann, dort soll er übersichtlich sehen können was er bestellt hat, wieviel es einzeln kostet und weiter unten dann der Gesamtpreis einmalig und der Gesamtpreis monatlich.

Ich habe alles hinbekommen und das obwohl ich mich erst vor kurzem mit php und mysql beschäftig habe, aber das herausfiltern und zusammenrechnen der Preise bekomme ich nicht hin.


EDIT:
hier mal ein kleines Beispiel wie der Kunde nach der auswahl die Zusammenfassung sehen sollte.

Bestellte Dienstleistung:


Dienstleistung1 ohne Vertrag: 15 eur (Dienstleistung 1 kann man aber auch als Vertrag auswählen)
Dienstleistung2 mit Vertrag: 10 eur (Dienstleistung 2 kann man auch ohne auswählen)
Einrichtungsgebühr: 20 eur


Gesamtpreis einmalig:35 eur
Gesamtpreis monatlich:10 eur

Geändert von sl0t (16.02.2010 um 23:48 Uhr).
sl0t ist offline  
Alt 17.02.2010, 09:35  
Erfahrener Benutzer
 
Benutzerbild von drsoong
 
Registriert seit: 05.08.2008
Beiträge: 1.127
drsoong wird schon bald berühmt werden
Standard

Hi habe leider heute morgen nicht viel Zeit für längere Erklärungen. Mit Mysql kannst Du normal rechnen und bedingte Ausgaben erstellen. Schau Dir mal in der Mysql Doku SUM und IF und solche Sachen an. Evtl. mußt Du auch SUM und GROUP zusammen anwenden.
drsoong 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
in einer funktion mit einer variablen variable abfragen ob ein array existiert hweinig PHP Tipps 2010 5 03.02.2010 15:27
[Erledigt] Variablen abfragen Colon_C PHP Tipps 2009 11 14.05.2009 13:55
[Erledigt] Variablendeklaration, Existenz der Variablen abfragen offina PHP Tipps 2009 5 20.02.2009 11:39
[Erledigt] tabellen preise zusammen rechnen cyxmedia PHP Tipps 2009 7 28.01.2009 11:53
Variable Variablen zusammen mit Arrays Kenshin PHP Tipps 2008 2 20.04.2008 15:30
sql abfragen mit variablen Dopedouglaz Datenbanken 3 07.06.2006 14:00
Rechnen mit Variablen (LOL) lessiv PHP Tipps 2005-2 13 26.08.2005 16:39
Variablen übergeben bzw. auslesen? PHP Tipps 2005 4 30.01.2005 03:56
my-sql abfragen mit 2 variablen php-newbie83 PHP Tipps 2004 9 03.08.2004 16:02

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
http://www.php.de/php-einsteiger/64685-variablen-die-eine-oder-mehrere-bedingungen-erfuellen-abfragen-und-zusammen-rechnen.html, excel 2 bedingungen abfragen, php rechnen mit variablen, mit mysql variable in php rechnen, rechnen mit 2 variablen, eine oder mehrere, eine oder, mysql abfrage mit mehreren variablen, rechnen mit bedingungen, excel 2 bedingungen erfüllen, php abfrage mehrere bedingungen, if php mehrere bedingungen, mysql if mehrere bedingungen, php rechnen mit if bedingungen, variable berechnen mehrere bedingungen, php variable abhängig von zwei bedingungen, html mehrere bedingungen, php mehrere bedingungen, mehrere php bedingungen, excel abfrage mit 2 bedingungen

Alle Zeitangaben in WEZ +2. Es ist jetzt 21:24 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