Gesamtpreis [Pizz-Service]

  • Ups, dass sollte Pizza-Service heißen :S


    Hallo,
    Ich hab mich neu in diesem Forum registriert um Hilfe von euch zu erhalten!

    Also so siehts aus :
    Ich bin grade an meinen Informatik-Projekt dran. Ich erstelle eine Website mittels html, php, CSS.

    Es handelt sich dabei um einen Pizza-Service.
    Mein Problem liegt darin den Gesamtpreis der Bestellung zu berechen.

    Ich geb euch schonmal die Quelltexte:

    STARTSEITE:

    PIZZEN/GETRÄNKE:

    BESTELLTE PIZZEN/GETRÄNKE:
    (OHNE GESAMTPREIS)

    KONTAKTINFORMATIONEN:

    BESTÄTIGUNG:

    Also die Preise der bestellten Produkte kann ich wird ja angezeigt.
    Nur ich habe keine Ahnung wie ich einen Gesamtpreis ausrechnen soll.
    Also: Preis aller bestellten Artikel.

    Die Seite ist zwar noch nicht ausgereift, ich will sie auch weiter designen, doch das Problem macht mir echt zu schaffen.
    Also bin ich auf euch angewiesen und brauche dringend eure Hilfe.

    Und nicht, dass ihr denkt ich mache diese Seite einfach so.
    Nein, es geht hier für mich um einiges. Bin in der 10ten Klasse und brauch dringend meine Quali.

    Ihr könnt mir auch vorschlagen wie ich meine Seite strukturieren soll usw. ,
    aber bitte gebt mir keine super Experten Codes. Ich bin ja ein Anfänger, wie ihr sehen könnt


    Danke schonmal im voraus für eure Hilfe!

    2 Mal editiert, zuletzt von synaptic (25. Januar 2011 um 00:22) aus folgendem Grund: php-codetags ergänzt

  • hab des mal überflogen.. zeig mir doch mal bitte die stelle wo du überhaupt preise hast...
    also welche mit denen du überhaupt rechnen könntest...

    du bräuchtest nen array, wo du den preis einer pizza hinzufügen kannst, dann kannste die werte rausfiltern und entsprechend auch deine berechnungen durchführen.
    code bekomste nicht, da es was für die schule ist

  • Den ganzen Kram ohne eine Datenbank zu machen ist verhältnismäßig sinnbefreit.

  • Ob eine DB eventuell vorhanden ist, ist aus dem Beitrag nicht zu erkennen, nur dass keine DB benutzt wird. Es ist ja auch so, dass alle Pizzen hardcoded sind und nicht in Array's zusammengefasst sind. Der Verwaltungsaufwand steigt so in unnötige Mehrarbeit bei Änderungen.

  • Sorry für Doppelpost, hatte noch vergessen:

    Wenn schon CSS, dann aber auch richtig. Da hat ein <font face="Monotype Corsiva"> nichts mehr im HTML-Code zu suchen.

  • Also ich hab mal drübergeschaut und das ist schon gut was für die 10te Klasse... Wir haben auch ein wenig programmiert früher in der Schule aber das war nur Kinderkram. So wie es aussieht, hast du nicht viel Ahnung von der Materie, da wird wohl noch einiges an Arbeit auf dich zu kommen wenn du das schaffen willst, was du vor hast.
    Hier mal ein paar Ideen von mir:
    - Die erste Seite ist immer eine http://index.html/index.php und nicht Informationen.html (Das hat damit zutun, dass die http://index.html/index.php als Default in einem Verzeichnis aufgerufen wird)
    - Wenn du die Struktur so weiterführst wie es jetzt ist, dann wirst du ewig brauchen, du musst also auf Datenbanken, oder zumindest auf Array umsteigen, dass z.B. so aussieht:

    - Das Array wird ein Include (include()) welches in jede Datei includiert wird.
    - Ich weiss nicht wie weit Ihr da seid, aber die Variante mit dem POST ist sowas von schwachsinnig, normalerweise müsstest du mit Cookies oder Sessions arbeiten. (set_cookie(), $_COOKIE oder session_start(), $_SESSION)
    - Über eine Schleife (foreach z.B.) gibst du die Produkte aus und benutzt deren Keys als Übergabewerte um Sie dann mit isset() zu prüfen und über den Key 'preis' zu berechnen.
    - Ausgaben von Preisen laufen über number_format()

    Gruß crAzywuLf :D

    2 Mal editiert, zuletzt von crAzywuLf (25. Januar 2011 um 09:53)

  • PHP
    <input type="checkbox" name="pizza" value="margh">Pizza Margherita, Anzahl  <input type="text" name="anzahl" size="1"> <a href="Pizza Bilder/Margh.html">BILD</a><br>

    Hi,

    was mir direkt mal aufgefallen ist, dass du nirgends den Tag Input und Br beendest.

    Ich zeige es dir an einem Beispiel aus deinem Code hier:

    PHP
    <input type="checkbox" name="pizza" value="margh" /> Pizza Margherita, Anzahl  <input type="text" name="anzahl" size="1" /> <a href="Pizza Bilder/Margh.html">BILD</a>
    <br />

    Ich schaue mir jetzt mal den weiteren Code an.


    MfG

    €dit:// hat sich erledigt hab gesehen, dass ich nen Fehler gemacht hab, nicht wahrnehmen ;)

    3 Mal editiert, zuletzt von RedJ0hn (25. Januar 2011 um 10:09)

  • Danke für eure Hilfe.

    Nur leider weiß ich jetzt nicht wie eine Datenbank einfügen soll.

    Ich denke ich werde arrays benutzen, ich weiß zwar nicht wie das geht aber ich werds wohl herausfinden :D

    Falls einer noch Tipps hat, immer her damit




    EIDT: Habe gerade bemerkt, dass das doch komplizierter ist als ich dachte mit den arrays. :/

    EDIT2:

    Zitat

    - Ich weiss nicht wie weit Ihr da seid, aber die Variante mit dem POST ist sowas von schwachsinnig, normalerweise müsstest du mit Cookies oder Sessions arbeiten. (set_cookie(), $_COOKIE oder session_start(), $_SESSION)

    Wir sind noch bei method POST. set_cookie, usw haben wir noch nicht durchgenommen. :(

    3 Mal editiert, zuletzt von DnIpR (25. Januar 2011 um 14:44)

  • Vielleicht mal ein fertiges Script ansehen. goggle sagt mit php pizza script

    Ungefähr 1.230.000 Ergebnisse (0,26 Sekunden)

  • OK

    Ich verstehe jetzt die Grundlagen von arrays, naja etwas :(
    Und wie funktioniert das mit Eingabefeldern und Kontrollkästchen?

    Einmal editiert, zuletzt von DnIpR (25. Januar 2011 um 15:51)

  • Dann könntest du eine foreach Schleife machen (http://de3.php.net/manual/de/control-structures.foreach.php)

    Am besten du machst jetzt eine pizzadaten.inc.php und da packst du das hier rein:

    Dann erweiterst du das Array so das alle Pizzen drin ist, kopier Block für Block und halt die Einrückungen bei sonst schaut sich das hier keiner an. Und wenn du was einrücken musst, dann bitte mit Tabs (Tabulatoren) (das $pizza Array reicht erstmal) [Die Mageritha ist zweimal drin... die kannst ja dann einmal rausnehmen]

    Die Datei includierst du dann in deine anderen Dateien mit include() (http://de.php.net/manual/de/function.include.php)

    und dann kannst du eine Schleife wie diese hier benutzen um die Checkboxen ausgeben zu lassen: (http://de.php.net/manual/de/control-structures.foreach.php)

    Wenn du nicht weiterkommst dann packste alles als ZIP und fügst es in deinem nächsten Beitrag als Attachment zu. Viel Erfolg

    Wir können dir helfen, aber machen musst du es selbst ;)

    Gruß crAzywuLf :D

    Einmal editiert, zuletzt von crAzywuLf (25. Januar 2011 um 16:38)

  • Danke für deine Hilfe cRazywulF,
    Ich weiß das erst zu schätzen :)
    Habe mir mal dein oberen Code abgegriffen und das hier darausgemacht:

    Also das ist dann die Include Datei?
    Ich weiß aber leider nicht wie viele Klammern ich da einfügen muss :/
    Könntest du mal das überfliegen und gucken ob ich alles richtig gemacht habe?

    So weit so gut , hoffe ich :)


    Und jetzt die foreach Schleife.
    Ich halte euch (dich) auf dem Laufenden :D


    EDIT: Und mit Include :

    Code
    include 'pizzadaten.inc.php';

    Richtig so?
    Also das habe ich in alle meine dateien reingeschrieben.

    EDIT2: Hab ein paar Fehler im Code gefunden und behoben, doch nun bekomme ich das hier :

    Parse error: syntax error, unexpected T_DOUBLE_ARROW in C:\xampp\htdocs\Pizza\pizzadaten.inc.php on line 107


    Zeile 106-108:

    Code
    );
        'ohne_alkohol' => array(
            array(

    EDIT3: Juhuu endlich alle Probleme in der Include Datei gelöst :D
    Hab auch den neuen Code reineditiert

    7 Mal editiert, zuletzt von DnIpR (26. Januar 2011 um 14:41)

  • Um noch mal auf die DB zu kommen. Hast du die Möglichkeit, eine Datenbank einzusetzen? Wenn ja, dann solltest du das auf jeden Fall in Betracht ziehen. Das ist leichter, als du denkst und Hilfe würdest du dazu auch garantiert bekommen.

  • Dabei kann man ja helfen. Die einfachste Methode ist mit phpMyAdmin die Datenbank und Tabellen zu erstellen. Die Abfrage der Datenbank ist auch kein großes Problem, Schema:

  • Sorry, ein Fehler drin:

  • Beispiel ein Tabelle:

    Code
    CREATE TABLE `pizza` (
     `id` int(11) NOT NULL AUTO_INCREMENT,
     `name` varchar(32) NOT NULL,
     `beschreibung` varchar(255) NOT NULL,
     `preisklein` float NOT NULL,
     `preisgross` float NOT NULL,
     `grafik` varchar(64) NOT NULL,
     PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1