{"id":23,"date":"2018-08-26T18:19:23","date_gmt":"2018-08-26T18:19:23","guid":{"rendered":"https:\/\/math-brownies.de\/?p=23"},"modified":"2018-08-26T21:29:54","modified_gmt":"2018-08-26T21:29:54","slug":"datenbanken-befuellen","status":"publish","type":"post","link":"https:\/\/math-brownies.de\/index.php\/2018\/08\/26\/datenbanken-befuellen\/","title":{"rendered":"Datenbanken bef\u00fcllen, php-Regeln"},"content":{"rendered":"<p>Mit einem html-Formular kann man Datenbank-Eintr\u00e4ge anlegen lassen.<\/p>\n<p>Ich habe dazu ein Formular erstellt und mit Bootstrap formatiert. In &lt;form&gt; wird eine action geschrieben, bei mir hei\u00dft es request.php. Dieses php-Dokument wird aufgerufen, wenn er Benutzer auf den Button &#8222;absenden&#8220; klickt und bekommt alle eingegebenen Werte als Variablen \u00fcbergeben, die es dann in die Datenbank schreiben kann.<\/p>\n<p>Dazu ist es wichtig, dass JEDES Input-Element einen eindeutigen Namen hat. Da es in diesem Projekt gerade um die Erfassung eines Sitzplanes geht, habe ich viiieeeele Inputfelder, und leider habe ich erst gedacht, man br\u00e4uchte nur eine eindeutige ID. Die ID ist aber f\u00fcr den Aufruf der labels, nicht f\u00fcr die \u00dcbergabe der Daten.<\/p>\n<p>Zum Inhalt der Datenbank\u00fcbergabe hilft php.net &#8211; ich nutze immer noch <a href=\"http:\/\/php.net\/manual\/en\/class.pdo.php\">PDO<\/a>.<\/p>\n<p>In php nutzt man Hochkommata, um Strings zu erzeugen. Setzt man doppelte Hochkommata, kann man Variablennamen direkt nutzten, bei einfachen Hochkommata muss man den String unterbrechen und die Variablen &#8222;einpuzzeln&#8220; &#8211; die Connectoren dabei sind Punkte, also z.B. &#8218;blafa&#8216;.$var1.&#8217;blafarai&#8216; ; Dieses Verfahren funktioniert auch bei Funktionen, die einen R\u00fcckgabewert haben, statt einer Variablen in der Mitte. Ebenso kann man Variablen\/Funktionen mit R\u00fcckgabe aneinder reihen, um einen neuen String zu erzeugen, wie etwa in diesem Befehl: $db=new PDO( $dsn.$db_user.$db_pwd).<\/p>\n<p>Mit -&gt; wird auf einem Objekt eine Funktion ausgef\u00fchrt. In den runden Klammern dahinter stehen die Parameter f\u00fcr diese Funktion.<\/p>\n<p>Man bereitet eine Aufforderung an eine Datenbank zun\u00e4chst vor, dazu kann man -&gt;query() oder -&gt;prepare() nutzen. Prepare hat den Vorteil, dass man dann sp\u00e4ter vor der eigentlichen Ausf\u00fchrung die betroffenen Tabellen mit -&gt;beginTransaction sperren kann, damit nicht zwei Leute gleichzeitig was \u00e4ndern und dann Fehler in den Daten erzeugen. Das ist aber unrelevant, wenn eh immer nur eine Person zur Zeit die Tabelle bearbeiten wird, dann ist query (laut Michaels Meiung) sch\u00f6ner.<\/p>\n<p>Die eigentliche Befehlsauff\u00fchrung erfolgt mit -&gt;execute(Daten zur \u00dcbergabe hier rein schreiben, in der Reihenfolge der genutzten ? in dem Datenbankbefehl).<\/p>\n<p>Zur Ausage von allem, was man so hat (Fehlersuche!) hilft <a href=\"http:\/\/www.phpbox.de\/php_befehle\/var_dump.php\">var_dump<\/a>.<\/p>\n<p>Mich interessierte ja immer noch die if-Sache, also habe ich es mir angeschaut und <a href=\"https:\/\/secure.php.net\/manual\/en\/control-structures.if.php\">diese <\/a>Seite gefunden.<\/p>\n<p>Und der n\u00e4chste Eintrag erz\u00e4hlt dann, wie wird feststellen, ob es einen Eintrag in der Datebank schon gibt und ihn anlegen, wenn es ihn noch nicht gibt.<\/p>\n<p>\u00dcbrigens: Wir haben in 24h 15GB Datenvolumen geleert. F\u00fcr das Einrichten eines Raspis und das Nachschlagen von Code und ein bisschen Netflix f\u00fcrs Kind. Wow. Hoffentlich macht Wilhelm.tel morgen unser Internet heile.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Mit einem html-Formular kann man Datenbank-Eintr\u00e4ge anlegen lassen. Ich habe dazu ein Formular erstellt und mit Bootstrap formatiert. In &lt;form&gt; wird eine action geschrieben, bei mir hei\u00dft es request.php. Dieses php-Dokument wird aufgerufen, wenn er Benutzer auf den Button &#8222;absenden&#8220; klickt und bekommt alle eingegebenen Werte als Variablen \u00fcbergeben, die es dann in die Datenbank [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-site-content-layout":"","site-content-style":"default","site-sidebar-style":"default","ast-global-header-display":"","ast-banner-title-visibility":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","astra-migrate-meta-layouts":"default","ast-page-background-enabled":"default","ast-page-background-meta":{"desktop":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"ast-content-background-meta":{"desktop":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"tablet":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""},"mobile":{"background-color":"var(--ast-global-color-5)","background-image":"","background-repeat":"repeat","background-position":"center center","background-size":"auto","background-attachment":"scroll","background-type":"","background-media":"","overlay-type":"","overlay-color":"","overlay-opacity":"","overlay-gradient":""}},"footnotes":""},"categories":[4,3,5],"tags":[],"class_list":["post-23","post","type-post","status-publish","format-standard","hentry","category-datenbanken","category-informatik","category-php"],"_links":{"self":[{"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/posts\/23","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/comments?post=23"}],"version-history":[{"count":6,"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/posts\/23\/revisions"}],"predecessor-version":[{"id":29,"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/posts\/23\/revisions\/29"}],"wp:attachment":[{"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/media?parent=23"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/categories?post=23"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/math-brownies.de\/index.php\/wp-json\/wp\/v2\/tags?post=23"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}