{"id":442,"date":"2017-05-09T15:58:42","date_gmt":"2017-05-09T13:58:42","guid":{"rendered":"http:\/\/evileu.de\/zum-schwarzen-pinguin\/?p=442"},"modified":"2017-05-09T16:20:25","modified_gmt":"2017-05-09T14:20:25","slug":"datenbankeditor-die-dritte-formular-im-formular","status":"publish","type":"post","link":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/2017\/05\/09\/datenbankeditor-die-dritte-formular-im-formular\/","title":{"rendered":"Datenbankeditor die Dritte: Formular im Formular"},"content":{"rendered":"<h2>Editierbare Felder &#8211; blo\u00df wie?<\/h2>\n<p>Wir waren dabei stehengeblieben, da\u00df wir die Adressdaten zu einer vom Benutzer eingegebenen Mitgliedsnummer angezeigt haben. Jetzt gehts zum n\u00e4chsten Schritt, wir wollen die Daten ja nicht nur anzeigen, sondern auch \u00e4ndern. Daf\u00fcr nehmen wir &#8211; ein Formular! Und zwar innerhalb unserer Foreach-Schleife, wir wollen ja genau den Inhalt des einen von unserem Select zur\u00fcckgegebenen Datensatzes ausgeben.<\/p>\n<h2>Das Unterformular in der Foreach-Schleife<\/h2>\n<p>Das ist keine Hexerei, sondern ein stinknormales Formular mit einem Submit-Button. Die Konstruktion beginnt so:<\/p>\n<p><em>foreach ( $alleposts as $einpost ) { \u00a0\u00a0 \u00a0<\/em><br \/>\n<em>\u00a0\u00a0 \u00a0<\/em><br \/>\n<em>\/\/Begin Formular<\/em><br \/>\n<em>echo &#8222;&lt;form method=&#8220;post&#8220;&gt;&#8220;;<\/em><\/p>\n<p><em>\/\/<strong>Hier kommen die Formularfelder hin\u00a0<\/strong>\u00a0 \u00a0\u00a0\u00a0\u00a0 <\/em><br \/>\n<em>\u00a0\u00a0 \u00a0\u00a0\u00a0 \u00a0<\/em><br \/>\n<em>echo &#8218;&lt;input type=&#8220;submit&#8220; name = &#8222;speichern&#8220; value=&#8220;\u00c4nderungen speichern&#8220;\/&gt;&#8216;.&#8220;&lt;br&gt;&#8220;;<\/em><\/p>\n<p><em>echo &#8222;&lt;\/form&gt;&#8220;;<\/em><br \/>\n<em>\/\/ End Formular<\/em><\/p>\n<p><em>} \/\/end foreach<\/em><\/p>\n<h2>Werte (values) der Input-Felder vorbelegen<\/h2>\n<p>Wir nehmen ganz normale Text-Inputfelder, und jetzt kommt der Witz an der ganzen Sache: sie werden mit unseren Feldinhalten aus der Datenbank gef\u00fcllt. Das geht ganz einfach, wir sind ja innerhalb der Foreach-Schleife und kommen z.B. mit <em>$einpost-&gt;vorname<\/em> an den Wert des Vornamen-Feldes ran. Das editierbare Formularfeld f\u00fcr den Vornamen mit Vorbelegung sieht dann so aus:<\/p>\n<p><em>echo &#8218;Vorname: &lt;input type=&#8220;text&#8220; name=&#8220;vorname&#8220; <strong>value = &#8222;&#8218;.$einpost-&gt;vorname.'&#8220;<\/strong>&gt;&lt;\/br&gt;&#8216;;<\/em><\/p>\n<p>Hier muss man mit den doppelten und den einfachen Anf\u00fchrungszeichen ein bi\u00dfchen aufpassen, aber ich pack euch nachher den Code noch in ein ZIP-File, dann habt ihrs ganz genau. Falls die Ausgabe eines Values beim ersten Leerzeichen abgeschnitten wird, stimmt was mit den Anf\u00fchrungszeichen nicht, dar\u00fcber f\u00e4llt man am Anfang gerne.<\/p>\n<p>Das Feld f\u00fcr die ID (Mitgliedsnummer) kriegt eine Sonderbehandlung, das soll ja um Himmels Willen nicht ge\u00e4ndert werden, auch nicht versehentlich, deswegen setzen wir es gleich auf disabled:<\/p>\n<p><em>echo &#8218;ID: &lt;input type=&#8220;text&#8220; name=&#8220;id&#8220; value = &#8222;&#8218;.$einpost-&gt;id.'&#8220; <strong>disabled<\/strong>&gt;&lt;\/br&gt;&#8216;;<\/em><\/p>\n<p>Die anderen Felder (Nachname, Telefon, Ort usw.) werden ganz genau so wie oben beim Vornamen konstruiert, so sieht das fertige Produkt dann aus:<\/p>\n<div id=\"attachment_443\" style=\"width: 1141px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-443\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-443\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_screenshot.jpg\" alt=\"unterformular_screenshot\" width=\"1131\" height=\"347\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_screenshot.jpg 1131w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_screenshot-300x92.jpg 300w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_screenshot-768x236.jpg 768w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_screenshot-1024x314.jpg 1024w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_screenshot-624x191.jpg 624w\" sizes=\"(max-width: 1131px) 100vw, 1131px\" \/><p id=\"caption-attachment-443\" class=\"wp-caption-text\">unterformular_screenshot<\/p><\/div>\n<p>Ich hab noch einen &lt;div&gt; mit einem Rahmen um die ganze Sache gelegt und die Felder f\u00fcr E-Mail und Strasse mit size=&#8220;50&#8243; gr\u00f6sser gemacht, aber das wars dann schon. Eure Bildschirmanzeige nach Abschicken der Mitgliedsnummer sollte jetzt etwa so aussehen:<\/p>\n<p>&nbsp;<\/p>\n<div id=\"attachment_444\" style=\"width: 415px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-444\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-444\" src=\"http:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_anzeige.jpg\" alt=\"unterformular_anzeige\" width=\"405\" height=\"375\" srcset=\"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_anzeige.jpg 405w, https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-content\/uploads\/2017\/05\/unterformular_anzeige-300x278.jpg 300w\" sizes=\"(max-width: 405px) 100vw, 405px\" \/><p id=\"caption-attachment-444\" class=\"wp-caption-text\">unterformular_anzeige<\/p><\/div>\n<p>Sieht doch schon mal ganz gut aus, oder? Jetzt m\u00fc\u00dfte nur noch etwas passieren, wenn man auf &#8222;\u00c4nderungen speichern&#8220; klickt, aber dazu gibts einen neuen Beitrag.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Editierbare Felder &#8211; blo\u00df wie? Wir waren dabei stehengeblieben, da\u00df wir die Adressdaten zu einer vom Benutzer eingegebenen Mitgliedsnummer angezeigt haben. Jetzt gehts zum n\u00e4chsten Schritt, wir wollen die Daten ja nicht nur anzeigen, sondern auch \u00e4ndern. Daf\u00fcr nehmen wir &#8211; ein Formular! Und zwar innerhalb unserer Foreach-Schleife, wir wollen ja genau den Inhalt des [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[20,21,11,7,4,8],"tags":[],"_links":{"self":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/442"}],"collection":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/comments?post=442"}],"version-history":[{"count":1,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/442\/revisions"}],"predecessor-version":[{"id":445,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/posts\/442\/revisions\/445"}],"wp:attachment":[{"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/media?parent=442"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/categories?post=442"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/evileu.de\/zum-schwarzen-pinguin\/wp-json\/wp\/v2\/tags?post=442"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}