Study-Board.de
  1. Suche
  2. Startseite
    1. Blog
  3. Forum
    1. Dashboard
    2. Unerledigte Themen
    3. Datenbanken
    4. Gamification
  4. Tippspiel
    1. Rangliste
    2. Tippgemeinschaften
    3. Tipper-Übersicht
    4. Meine Statistik
    5. Hall of Fame
    6. WM-Wertung
  5. Semantic
  6. Poll
  7. Formel 1
    1. Rennen
    2. Fahrer
    3. Teams
  • Anmelden
  • Registrieren
  • Suche
Dieses Thema
  • Alles
  • Dieses Thema
  • Dieses Forum
  • Forum
  • Artikel
  • Seiten
  • Termine
  • Galerie
  • wcf.search.type.de.flexiblelist.wsc.entry
  • wcf.search.type.com.amp.advancedpoll.search
  • Erweiterte Suche
  1. Study-Board.de
  2. Forum
  3. Beruf, Weiterbildung & Fernstudium
  4. Einsendeaufgaben

Ils php03a

  • pitware2005
  • 15. Juni 2013 um 11:27
  • Erledigt
  • pitware2005
    Anfänger
    Beiträge
    2
    • 15. Juni 2013 um 11:27
    • #1

    Hallo zusammen,

    ich werde noch wahnsinnig mit dieser Einsendeaufgabe. Habe alle Punkte bis auf 3. der Aufgabe gelöst.

    Kann mir bitte jemand damit helfen?

    Frage:
    Ändern Sie die Klassen "artikel" und "webshop" so ab, dass dei Liste der
    lieferbaren Artikel nicht mehr dem "$artikelArray" entnommen werden,
    sondern direkt per Datenbankabfrage in der Methode "webshop::anzeigen()"
    geholt und ausgegeben wird.

    Hier ist der Code für die "class_artikel":

    PHP
    <?php
    require_once ("class_seite.php");
    
    
    class artikel extends seite
    {
        protected $artikelArray = array();
        private $DB = array('database' => 'xxxxxxxxxxxxxxx', 'user' =>  'xxxxxxxxxxxxxxxxxx', 'password' => 'xxxxxxxxxxxxxxxx');
        protected $dbh; # Database-Handle
    
        public function __construct()
        {
            parent::__construct();
            if(!is_array($this->DB) && empty($this->DB['database']))
                throw new Exeption("Daten für Datenbankverbindung fehlen!");
            else
            {
                $connectString = "mysql:dbname=".$this->DB['database'].";host=localhost";
                try
                {
                    $this->dbh = new PDO($connectString, $this->DB['user'], $this->DB['password']);
                    $sql = "DELETE FROM `ws_warenkorb` WHERE DATEDIFF(NOW(), `w_timestamp`) >= 14";
                    $result = $this->dbh->query($sql);
                    $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
                    $sql = "SELECT a_artikelnr, a_datum AS a_konzerttermin,  a_name AS a_veranstaltung, a_menge AS a_kartenvorrat, a_preis FROM  ws_artikel WHERE a_menge > 0";
                    $result = $this->dbh->query($sql);
                    $tmp = $result->fetchAll(PDO::FETCH_ASSOC);
                    foreach ($tmp as $key => $value)
                    {
                        foreach($value as $ky => $val)
                        {
                            $name = explode("_", $ky);
                            if ($ky != 'a_artikelnr')
                            $this->artikelArray[$value['a_artikelnr']][$name[1]] = $val;
                        }
                    }
                }
                catch(PDOException $e)
                {
                    echo $e->getMessage();
                }
            }
        }
    
    
        public function anzeigen()
        {
            foreach($this->artikelArray as $key => $value)
            {
                foreach($value as $subKey => $subVal)
                {
                    if ($subKey == "name")
                    {
                        print "<a href=\"".$_SERVER['PHP_SELF']."?id=".$key."\">".$subVal."</a>\n";
                    }
                else
                    print $subVal." Euro\n";
                }
                print "<br />\n";
            }
        }
    
    
        public function waehlen($artikelnummer, $kunde)
        {
            if(!empty($artikelnummer) && !empty($kunde))
            {
                try
                {
                    $sql = "UPDATE ws_warenkorb SET w_menge = w_menge + 1 WHERE w_artikelnr = :nummer AND w_kunde = :kunde";
                    $result = $this->dbh->prepare($sql);
                    $result->bindParam(':nummer', $artikelnummer, PDO::PARAM_INT);
                    $result->bindParam(':kunde', $kunde, PDO::PARAM_INT);
                    $result->execute();
                    if ($result->rowCount() == 1)
                        return true;
                    $sql ="INSERT INTO ws_warenkorb (w_artikelnr, w_kunde, w_menge) VALUES (:nummer, :kunde, 1)";
                    $result = $this->dbh->prepare($sql);
                    $result->bindParam(':nummer', $artikelnummer, PDO::PARAM_INT); 
                    $result->bindParam(':kunde', $kunde, PDO::PARAM_INT);
                    $result->execute();
                    if($result->rowCount()== 1)
                    {
                        print "Datensatz wurde eingetragen.";
                        return true;  
                    }
                    return false;
                }
                catch(PDOException $e)
                {
                    echo $e->getMessage();
                }
            }
        }
    
    
        public function bestellen($kunde)
        {
            if(!is_integer($kunde))  # Gültige Kundennummer?
                throw new Exception('Keine Kundennummer'); # Fehler ausgeben
            else
            {
                try
                {
                    #in Datenbank schreiben
                    $sql = "SELECT w_kunde, w_artikelnr, w_menge FROM ws_warenkorb WHERE w_kunde = :kunde";
                    $result = $this->dbh->prepare($sql);
                    $result->bindParam(':kunde', $kunde, PDO::PARAM_INT);
                    $result->execute();
                    $tmp = $result->fetchAll(PDO::FETCH_ASSOC);
                    foreach($tmp as $key => $value)
                    {
                        $sql = "INSERT INTO ws_bestellung (b_kunde, b_artikelnr, b_menge) VALUES (:kunde, :artikel, :menge)";
                        $result = $this->dbh->prepare($sql);
                        $result->execute(array(':kunde' =>  (int)$value['w_kunde'], ':artikel' => (int)$value['w_artikelnr'],  ':menge' => $value['w_menge']));
                        if($result->rowCount() == 1)
                        {
                            $sql1 = "UPDATE ws_artikel SET a_menge = a_menge - :anzahl WHERE a_artikelnr = :artikel";
                            $result1 = $this->dbh->prepare($sql1);
                            $result1->bindParam(':anzahl', $value['w_menge'], PDO::PARAM_INT);
                            $result1->bindParam(':artikel', $value['w_artikelnr']);
                            $result1->execute();
                            if ($result1->rowCount() == 1)
                                {
                                $sql2 = "DELETE FROM ws_warenkorb WHERE w_kunde = :kunde AND w_artikelnr = :artikel";
                                $sth2 = $this->dbh->prepare($sql2);
                                $sth2->execute(array(':kunde' => (int)$kunde, ':artikel' => (int)$value['w_artikelnr']));
                            }
                                $error = true;
                        }
                    }
                }
                catch(PDOException $e)
                {
                    echo $e->getMessage();
                }
            }
            session_destroy();
            return $error;
        }
    }
    ?>
    Alles anzeigen

    Und hier der Code von "class_webshop" siehe Anhang Der Inhalt kann nicht angezeigt werden, da Sie keine Berechtigung haben, diesen Inhalt zu sehen. :

    Musste es leider den 2. Code hochladen da er ihn mich nicht posten lies.

    Ich hoffe es kann mir jemand helfen da ich sonst bald aufgebe.

    Vielen Dank schonmal
    pitware2005

    2 Mal editiert, zuletzt von pitware2005 (15. Juni 2013 um 11:40)

  • dont-ask-why
    Anfänger
    Beiträge
    1
    • 8. August 2014 um 16:34
    • #2

    Hieran hängt es bei mir auch, habe schon gelesen, dass wir da nicht die Einzigen sind.
    Wäre echt schön, wenn diejenigen, die den Lehrgang schon abgeschlossen haben hier weiterhelfen könnten.

    Vorab Danke für jeden nützlichen Tipp!!

Letzte Beiträge

    1. Thema
    2. Antworten
    3. Letzte Antwort
    1. FIN04 Aufgabe 1 3

      • verdreas1805
      • 21. Oktober 2024 um 15:21
      • Einsendeaufgaben
      • verdreas1805
      • 12. März 2026 um 14:31
    2. Antworten
      3
      Zugriffe
      4,5k
      3
    3. admin

      12. März 2026 um 14:31
    1. WOG_O08 - Word Grundlagen 2

      • skhler
      • 15. Oktober 2024 um 04:39
      • Einsendeaufgaben
      • skhler
      • 22. Oktober 2024 um 14:54
    2. Antworten
      2
      Zugriffe
      3,5k
      2
    3. skhler

      22. Oktober 2024 um 14:54
    1. ESA STW01N_XX03

      • verdreas1805
      • 1. Juli 2024 um 20:16
      • Einsendeaufgaben
      • verdreas1805
      • 1. Juli 2024 um 20:16
    2. Antworten
      0
      Zugriffe
      2,3k
    1. Prüfungsaufgaben Geschäftsführung für Kleinbetriebe (PR853-XX2-K04) 8

      • ostsee-mami
      • 12. Januar 2010 um 22:25
      • Einsendeaufgaben
      • ostsee-mami
      • 18. Juni 2024 um 11:31
    2. Antworten
      8
      Zugriffe
      10k
      8
    3. jjinnvolt

      18. Juni 2024 um 11:31
    1. Koka 5N Aufgabe 2 2

      • Jenny1612
      • 19. Mai 2024 um 15:43
      • Einsendeaufgaben
      • Jenny1612
      • 26. Mai 2024 um 16:48
    2. Antworten
      2
      Zugriffe
      1,7k
      2
    3. admin

      26. Mai 2024 um 16:48
    1. KoKa 5 N Aufgabe 3a 1

      • Jenny1612
      • 19. Mai 2024 um 15:41
      • Einsendeaufgaben
      • Jenny1612
      • 26. Mai 2024 um 16:45
    2. Antworten
      1
      Zugriffe
      1,5k
      1
    3. admin

      26. Mai 2024 um 16:45
    1. Sgd Einsendeaufgaben EDV01N 3

      • Anitas
      • 14. September 2023 um 12:00
      • Einsendeaufgaben
      • Anitas
      • 9. Oktober 2023 um 12:43
    2. Antworten
      3
      Zugriffe
      3,6k
      3
    3. Tutor

      9. Oktober 2023 um 12:43
    1. TKK01 2

      • Gefällt mir 1
      • Nyugan93
      • 20. Januar 2017 um 17:29
      • Einsendeaufgaben
      • Nyugan93
      • 23. Juni 2023 um 22:24
    2. Antworten
      2
      Zugriffe
      7,5k
      2
    3. Tutor

      23. Juni 2023 um 22:24
    1. Einsendeaufgabe BIL06 1

      • Baluna2411
      • 23. Januar 2018 um 18:45
      • Einsendeaufgaben
      • Baluna2411
      • 3. Januar 2023 um 11:31
    2. Antworten
      1
      Zugriffe
      10k
      1
    3. admin

      3. Januar 2023 um 11:31
    1. Individualführung 1

      • Kazzidy
      • 28. Januar 2018 um 20:13
      • Einsendeaufgaben
      • Kazzidy
      • 3. Januar 2023 um 11:25
    2. Antworten
      1
      Zugriffe
      3,4k
      1
    3. admin

      3. Januar 2023 um 11:25

Letzte Beiträge

  1. FIN04 Aufgabe 1

    admin
    12. März 2026 um 14:31
  2. WOG_O08 - Word Grundlagen

    skhler
    22. Oktober 2024 um 14:54
  3. ESA STW01N_XX03

    verdreas1805
    1. Juli 2024 um 20:16
  4. Prüfungsaufgaben Geschäftsführung für Kleinbetriebe (PR853-XX2-K04)

    jjinnvolt
    18. Juni 2024 um 11:31
  5. Koka 5N Aufgabe 2

    admin
    26. Mai 2024 um 16:48

Statistiken

Themen
58.802
Beiträge
112.907
Termine
0
Bilder
0
Videos
0
Mitglieder
37.013
Meiste Benutzer online
17.968
Neuestes Mitglied
sammysule

  1. Tutor Lv. 5 12.704 XP
  2. admin Lv. 2 200 XP
  3. cklawitter Lv. 1 30 XP
  4. 4
    sieger81 Lv. 1 10 XP
  5. 5
    Polarlys Lv. 1 5 XP
  6. 6
    Phillip Klenner Lv. 1 5 XP
  7. 7
    Hermann Eisele Lv. 1 5 XP
  8. 8
    Wilhelm28 Lv. 1 2 XP
Vollständige Bestenliste

Benutzer online in diesem Thema

  • 1 Besucher
  1. Dealfuchs.info
  2. Impressum
    1. Datenschutzerklärung
    2. Verhaltenskodex
      1. Learn to Post
  3. Mediadaten
  4. Study-Talk.de - Rabatte nicht nur für Studenten
  5. Kontakt
Community-Software: WoltLab Suite™