PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Sql/php
Beitrag
<blockquote data-quote="karina06" data-source="post: 1641125" data-attributes="member: 249321"><p><strong>AW: Sql/php</strong></p><p></p><p>Freu über eure Antworten,</p><p>hier die beiden Klassen.</p><p>class artikel</p><p>[PHP]</p><p><?php</p><p>require_once ("class_sitzungsSeite.php");</p><p>class artikel extends sitzungsSeite</p><p>{</p><p> private $artikelArray = array();</p><p> private $DB = array('database' => 'u12345678',</p><p> 'user' => 'abc',</p><p> 'password' => 'geheim');</p><p> protected $dbh; # Database-Handle</p><p> public function __construct()</p><p> {</p><p> parent::__construct();</p><p> if(!is_array($this->DB) && empty($this->DB['database']))</p><p> throw new Exception("Daten für Datenbankverbindung fehlen!");</p><p> else</p><p> {</p><p> $connectString = "mysql:dbname=".$this->DB['database'].</p><p> ";host=localhost";</p><p> try</p><p> {</p><p> $this->dbh = new PDO($connectString, $this->DB['user'], </p><p> $this->DB['password'] );</p><p> $this->dbh->setAttribute(PDO::ATTR_ERRMODE,</p><p> PDO::ERRMODE_EXCEPTION);</p><p> $sql = "SELECT a_artikelnr, a_name AS_veranstaltung, a_preis, a_menge</p><p> FROM ws_artikel</p><p> WHERE a_menge > 0";</p><p> $result = $this->dbh->query($sql);</p><p> $tmp = $result->fetchAll(PDO::FETCH_ASSOC);</p><p> foreach ($tmp as $key => $value)</p><p> {</p><p> foreach($value as $k1 => $v1)</p><p> {</p><p> $name = split("_", $k1);</p><p> if ($k1 != 'a_artikelnr')</p><p> $this->artikelArray[$value['a_artikelnr']][$name[1]] = $v1;</p><p> }</p><p> }</p><p> }</p><p> catch(PDOException $e)</p><p> {</p><p> echo $e->getMessage();</p><p> }</p><p> }</p><p> }</p><p> public function anzeigen()</p><p> {</p><p> print " <table cellpadding=\"5\">\n";</p><p> print " </tr>\n ";</p><p> #holen des numerischen Indizes</p><p> $tmp = array_keys($this->artikelArray);</p><p> #Durchsuchen nach den assoziativen Schlüsseln</p><p> foreach($this->artikelArray[$tmp[0]] as $key =></p><p> $value)</p><p> {</p><p> #Ersten Buchstabn groß sezen</p><p> print "<th>".ucwords($key)."</th>";</p><p> }</p><p> print "\n</tr>\n";</p><p> #Alle Datenfelder ausgeben</p><p> foreach($this->artikelArray as $key => $value)</p><p> {</p><p> print "<tr style=\"text-align: center;\">\n";</p><p> foreach($value as $subKey => $subVal)</p><p> {</p><p> if ($subKey == "preis") #prüfen, um Euro-Text anzuhängen</p><p> print "<td align=\right\">".$subVal." Euro</p><p> </td>\n";</p><p> else</p><p> print "<td>".$subVal."</td>\n";</p><p> }</p><p> print "<td><a href=\"".$_SERVER['PHP_SELF']."?id=".</p><p> $key.</p><p> "\">In den Warenkorb</a></td>\n";</p><p> print " </tr>\n";</p><p> }</p><p> print "</table>\n";</p><p> }</p><p> </p><p> public function waehlen($artikelnummer, $kunde)</p><p> {</p><p> if(!empty ($artikelnummer) && !empty($kunde))</p><p> {</p><p> try</p><p> {</p><p> $sql = "UPDATE ws_warenkorb</p><p> SET w_menge = w_menge + 1</p><p> WHERE w_artikelnr = :nummer</p><p> AND w_kunde = :kunde";</p><p> $result = $this->dbh->prepare($sql);</p><p> $result->bindParam(':nummer', $artikelnummer, PDO::PARAM_INT);</p><p> $result->bindParam(':kunde', $kunde, PDO::PARAM_INT);</p><p> $result->execute();</p><p> if ($result->rowCount() == 1)</p><p> return true;</p><p> </p><p> $sql ="INSERT INTO ws_warenkorb</p><p> (w_artikelnr, w_kunde, w_menge)</p><p> VALUES (:nummer, :kunde, 1)";</p><p> $result = $this->dbh->prepare($sql);</p><p> $result->bindParam(':nummer', $artikelnummer, PDO::PARAM_INT);</p><p> $result->bindParam(':kunde', $kunde, PDO::PARAM_INT);</p><p> $result->execute();</p><p> if($result->rowCount()== 1)</p><p> {</p><p> print "Datensatz wurde eingetragen.";</p><p> return true;</p><p> }</p><p> return false;</p><p> }</p><p> catch(PDOException $e)</p><p> {</p><p> echo $e->getMessage();</p><p> }</p><p> }}</p><p> </p><p> public function bestellen($kunde)</p><p>{</p><p> </p><p>if(!is_integer($kunde)) # Gültige Kundennummer?</p><p> throw new Exception('Keine Kundennummer'); # Fehler ausgeben</p><p> else</p><p> {</p><p> try</p><p> {</p><p> #in Datenbank schreiben</p><p> $sql = "SELECT w_kunde, w_artikelnr, w_menge</p><p> FROM ws_warenkorb </p><p> WHERE w_kunde = :kunde";</p><p> $result = $this->dbh->prepare($sql);</p><p> $result->bindParam(':kunde', $kunde, PDO::PARAM_INT);</p><p> $result->execute();</p><p> $tmp = $result->fetchAll(PDO::FETCH_ASSOC);</p><p> foreach($tmp as $key => $value)</p><p> {</p><p> $sql = "INSERT INTO ws_bestellung (b_kunde, </p><p> b_artikelnr, </p><p> b_menge)</p><p> VALUES (:kunde, :artikel, :menge)";</p><p> $result = $this->dbh->prepare($sql);</p><p> $result->execute(array(':kunde' => (int)$value['w_kunde'],</p><p> ':artikel' => (int)$value['w_artikelnr'],</p><p> ':menge' => $value['w_menge']));</p><p> if($result->rowCount() == 1)</p><p>{</p><p> $sql1 = "UPDATE ws_artikel </p><p> SET a_menge = a_menge - :anzahl </p><p> WHERE a_artikelnr = :artikel";</p><p>$result1 = $this->dbh->prepare($sql1);</p><p>$result1->bindParam(':anzahl', $value['w_menge'],</p><p> PDO::PARAM_INT);</p><p>$result1->bindParam(':artikel', $value['w_artikelnr']);</p><p>$result1->execute();</p><p>if ($result1->rowCount() == 1)</p><p>{</p><p>$sql2 = "DELETE FROM ws_warenkorb </p><p> WHERE w_kunde = :kunde</p><p> AND w_artikelnr = :artikel";</p><p>$sql2 = $this->dbh->prepare($sql2);</p><p>$sql2->execute(array(':kunde' => (int)$kunde,</p><p> ':artikel' => (int)$value['w_artikelnr']));</p><p> }</p><p> $error = true;</p><p> }</p><p> }</p><p> }</p><p> catch(PDOException $e)</p><p> {</p><p> </p><p> echo $e->getMessage();</p><p> }</p><p> }</p><p> session_destroy();</p><p> return $error;</p><p>}</p><p>}</p><p>?></p><p>#class webshop</p><p><?php</p><p>require_once ("class_artikel.php");</p><p>require_once ("class_pdf.php");</p><p>require_once ("class_kunde.php");</p><p>class webshop extends artikel</p><p>{</p><p> private $pdf;</p><p> private $kunde;</p><p> </p><p> public function __construct()</p><p> {</p><p> parent::__construct();</p><p> </p><p> $this->pdf = new pdf();</p><p> $this->kunde = new kunde($this->dbh);</p><p> }</p><p> </p><p> public function setKundenNummer($kennung, $passwort)</p><p> {</p><p> $this->KndNr = 1;</p><p> if(!empty($kennung) && !empty($passwort))</p><p> {</p><p> try</p><p> {</p><p> $sql = "SELECT k_kundennummer</p><p> From ws_kunde</p><p> WHERE k_kennung = :kennung</p><p> AND k_passwort = :passwort";</p><p> $result = $this->dbh->prepare($sql);</p><p> $result->bindParam(':kennung', $kennung,</p><p> PDO::PARAM_STR, 20);</p><p> $result->bindParam(':passwort', $passwort,</p><p> PDO::PARAM_STR, 32);</p><p> $result->execute();</p><p> </p><p> $tmp = $result->fetchAll();</p><p> if(isset($tmp[0]['k_kundennummer']) &&</p><p> !empty($tmp[0]['k_kundennummer']))</p><p> {</p><p> $this->KndNr = </p><p> (integer)$tmp[0]['k_kundennummer'];</p><p> }</p><p> $_SESSION['kunde'] = $this->KndNr;</p><p> return $this->KndNr;</p><p> }</p><p> catch(PDOException $e)</p><p> {</p><p> echo $e->getMessage();</p><p> }</p><p> {</p><p> return $this->kunde->setKundenNummer($kennung,</p><p> $passwort);</p><p> }}}</p><p> public function auswahl($kunde) # zeigt ausgewählte Artikel</p><p> {</p><p> $sql = "SELECT a_name, w_menge</p><p> FROM ws_warenkorb, ws_artikel</p><p> WHERE w_kunde = $kunde</p><p> AND w_artikelnr = a_artikelnr";</p><p> $result = $this->dbh->query($sql);</p><p> $tmp = $result->fetchAll(PDO::FETCH_ASSOC);</p><p> if (count($tmp) > 0)</p><p> {</p><p> print "<table>\n";</p><p> print "<tr>\n <th>Artikel</th><th>Anzahl</th>\n</p><p> </tr>\n";</p><p> foreach($tmp as $key)</p><p> {</p><p> print "<tr>\n";</p><p> print "<td>".$key['a_name'].</p><p> "</td><td>".$key['w_menge']."</td>\n";</p><p> print "</tr>\n";</p><p> }</p><p> print "</table>\n";</p><p> }</p><p> else</p><p> print "Keine Artikel im Warenkorb gefunden.";</p><p> }</p><p> </p><p> private function setArtikel($daten)</p><p> {</p><p> $this->pdf->SetLeftMargin(35); # Setzt Rand</p><p> $this->pdf->Cell(30,5,"Artikelnummer",1,0,'C');</p><p> $this->pdf->Cell(60,5,"Artikel",1,0,'C');</p><p> $this->pdf->Cell(30,5,"Preis",1,0,'R');</p><p> foreach ($daten as $key => $value)</p><p> {</p><p> $this->pdf->ln();</p><p> $this->pdf->Cell(30,5,$key,1,0,'C');</p><p> $this->pdf->Cell(60,5,iconv('UTF-8', 'ISO-8859-15', $value['name']),1,0);</p><p> $this->pdf->Cell(30,5,$value['preis']." Euro",1,0,'R');</p><p> }</p><p> }</p><p> public function pdfliste()</p><p> {</p><p> $this->pdf->setTitel("Liste bestellbarer Artikel");</p><p> $this->pdf->AliasNbPages();</p><p> $this->pdf->AddPage();</p><p> $this->pdf->SetFont('Times','',12);</p><p> $text = "Sehr geehrter Kunde,\n\nvielen Dank, dass Sie sich".</p><p> " für unser Angebot interessieren. Folgende Artikel".</p><p> " können Sie in unserem Online-Shop (http://".$_SERVER['PHP_SELF'].") bestellen.\n";</p><p> $this->pdf->setText($text);</p><p> $this->setArtikel($this->artikelArray);</p><p> $text = "\n\nVielen Dank für Ihr Interesse.";</p><p> $this->pdf->setText($text);</p><p> $this->pdf->Output();</p><p> }</p><p> }</p><p> </p><p>?></p><p></p><p>[/PHP]</p></blockquote><p></p>
[QUOTE="karina06, post: 1641125, member: 249321"] [b]AW: Sql/php[/b] Freu über eure Antworten, hier die beiden Klassen. class artikel [PHP] <?php require_once ("class_sitzungsSeite.php"); class artikel extends sitzungsSeite { private $artikelArray = array(); private $DB = array('database' => 'u12345678', 'user' => 'abc', 'password' => 'geheim'); protected $dbh; # Database-Handle public function __construct() { parent::__construct(); if(!is_array($this->DB) && empty($this->DB['database'])) throw new Exception("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'] ); $this->dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "SELECT a_artikelnr, a_name AS_veranstaltung, a_preis, a_menge 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 $k1 => $v1) { $name = split("_", $k1); if ($k1 != 'a_artikelnr') $this->artikelArray[$value['a_artikelnr']][$name[1]] = $v1; } } } catch(PDOException $e) { echo $e->getMessage(); } } } public function anzeigen() { print " <table cellpadding=\"5\">\n"; print " </tr>\n "; #holen des numerischen Indizes $tmp = array_keys($this->artikelArray); #Durchsuchen nach den assoziativen Schlüsseln foreach($this->artikelArray[$tmp[0]] as $key => $value) { #Ersten Buchstabn groß sezen print "<th>".ucwords($key)."</th>"; } print "\n</tr>\n"; #Alle Datenfelder ausgeben foreach($this->artikelArray as $key => $value) { print "<tr style=\"text-align: center;\">\n"; foreach($value as $subKey => $subVal) { if ($subKey == "preis") #prüfen, um Euro-Text anzuhängen print "<td align=\right\">".$subVal." Euro </td>\n"; else print "<td>".$subVal."</td>\n"; } print "<td><a href=\"".$_SERVER['PHP_SELF']."?id=". $key. "\">In den Warenkorb</a></td>\n"; print " </tr>\n"; } print "</table>\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"; $sql2 = $this->dbh->prepare($sql2); $sql2->execute(array(':kunde' => (int)$kunde, ':artikel' => (int)$value['w_artikelnr'])); } $error = true; } } } catch(PDOException $e) { echo $e->getMessage(); } } session_destroy(); return $error; } } ?> #class webshop <?php require_once ("class_artikel.php"); require_once ("class_pdf.php"); require_once ("class_kunde.php"); class webshop extends artikel { private $pdf; private $kunde; public function __construct() { parent::__construct(); $this->pdf = new pdf(); $this->kunde = new kunde($this->dbh); } public function setKundenNummer($kennung, $passwort) { $this->KndNr = 1; if(!empty($kennung) && !empty($passwort)) { try { $sql = "SELECT k_kundennummer From ws_kunde WHERE k_kennung = :kennung AND k_passwort = :passwort"; $result = $this->dbh->prepare($sql); $result->bindParam(':kennung', $kennung, PDO::PARAM_STR, 20); $result->bindParam(':passwort', $passwort, PDO::PARAM_STR, 32); $result->execute(); $tmp = $result->fetchAll(); if(isset($tmp[0]['k_kundennummer']) && !empty($tmp[0]['k_kundennummer'])) { $this->KndNr = (integer)$tmp[0]['k_kundennummer']; } $_SESSION['kunde'] = $this->KndNr; return $this->KndNr; } catch(PDOException $e) { echo $e->getMessage(); } { return $this->kunde->setKundenNummer($kennung, $passwort); }}} public function auswahl($kunde) # zeigt ausgewählte Artikel { $sql = "SELECT a_name, w_menge FROM ws_warenkorb, ws_artikel WHERE w_kunde = $kunde AND w_artikelnr = a_artikelnr"; $result = $this->dbh->query($sql); $tmp = $result->fetchAll(PDO::FETCH_ASSOC); if (count($tmp) > 0) { print "<table>\n"; print "<tr>\n <th>Artikel</th><th>Anzahl</th>\n </tr>\n"; foreach($tmp as $key) { print "<tr>\n"; print "<td>".$key['a_name']. "</td><td>".$key['w_menge']."</td>\n"; print "</tr>\n"; } print "</table>\n"; } else print "Keine Artikel im Warenkorb gefunden."; } private function setArtikel($daten) { $this->pdf->SetLeftMargin(35); # Setzt Rand $this->pdf->Cell(30,5,"Artikelnummer",1,0,'C'); $this->pdf->Cell(60,5,"Artikel",1,0,'C'); $this->pdf->Cell(30,5,"Preis",1,0,'R'); foreach ($daten as $key => $value) { $this->pdf->ln(); $this->pdf->Cell(30,5,$key,1,0,'C'); $this->pdf->Cell(60,5,iconv('UTF-8', 'ISO-8859-15', $value['name']),1,0); $this->pdf->Cell(30,5,$value['preis']." Euro",1,0,'R'); } } public function pdfliste() { $this->pdf->setTitel("Liste bestellbarer Artikel"); $this->pdf->AliasNbPages(); $this->pdf->AddPage(); $this->pdf->SetFont('Times','',12); $text = "Sehr geehrter Kunde,\n\nvielen Dank, dass Sie sich". " für unser Angebot interessieren. Folgende Artikel". " können Sie in unserem Online-Shop (http://".$_SERVER['PHP_SELF'].") bestellen.\n"; $this->pdf->setText($text); $this->setArtikel($this->artikelArray); $text = "\n\nVielen Dank für Ihr Interesse."; $this->pdf->setText($text); $this->pdf->Output(); } } ?> [/PHP] [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ★ = 12, ◇ = 4 und die Hälfte von ★ zu ◇ addiert wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Sql/php
Oben