Beiträge von franky77

    :D Das war jetzt weniger auf dich sondern mehr auf die Helfer hier bezogen.

    Du könntest aber auch das ganze Array als JSON speichern, doch da weiß ich nicht, ob du das schon kannst.

    Kannst dich da ja mal einlesen

    https://www.php.net/manual/de/function.json-decode.php

    https://www.php.net/manual/de/function.json-encode.php

    Doch meine Schuld :D :wacko:


    Basti hatte das im Zusammenhang mit dem speichern mehrerer Werte, damals Auswahl Autos/Teile in dem anderen Thread schonmal erwähnt.

    :thumbup:

    Was mir beim Betrachten des Screenshots auf fällt, ist, dass da Redundanz drin ist: Die ersten drei Zeilen gehören offensichtlich zu der selben Pizza und die Inhalte der ersten drei Spalten sind gleich.

    Genau. Er schreibt für jeden Belag einen Eintrag. Da bin ich zunächst mal hingekommen weil man ja nicht mehrere Einträge in eine Spalte schreiben soll.


    Redundanz sollte man allerdings auch vermeiden ne? -.-


    En Tipp?


    basti1012

    Thanks!

    Ei Caramba -.-


    Müde, abgekämpft und seh vor lauter Code die Bäume, alias die Lösung nicht mehr.


    Ich hab das nun mal versucht umzusetzen und alles in ein Formular zunächst gepackt.


    Er macht soweit was er soll.

    Ich kann per Ajax (hoffe ich) nun die Checkboxen auswählen sogar mit Select All :D und mit nur noch einem Button absenden.


    Ich hoffe da mal soweit alles halbrichtig gemacht zu haben.


    Was mir noch nicht so gefällt ist das ich nur Werte in Zahlenform übergeben und anzeigen kann.

    Jemand von euch weiß da bestimmt auf Anhieb Rat und ich wäre auch dankbar dafür. :)


    Am allerliebsten wäre mir so ein Badge für den Status pasted-from-clipboard.pngpasted-from-clipboard.png

    Wie ich das hinbekommen soll weiß ich im Moment absolut gar nicht.


    m.scatello

    Code
    1. "SELECT id,created_at,Kundennr,Pizza,Belag,inarbeit from xxx.pizzabestellung ORDER BY created_at DESC";

    ;)


    Kein Sternchen mehr.


    So nun seid nicht zu hart, ich hab mich echt bemüht. :D


    pasted-from-clipboard.png

    Mensch, vielen Dank basti un Stef, ja klar geht es nun.


    In meinem Bestellformular, habe ich die Select Abfrage auch über der Anweisung und da funktioniert es. Deswegen dachte ich das ist richtig so :D

    Vermutlich weil es da per INSERT in die DB geht?


    Ok, nochmal was gelernt.


    Also Ajax sagst du.....du machst mich fertig :D

    Ich bemüh mal google und co wieder und melde mich entweder mit grauen Haaren oder einer Erfolgsmeldung zurück :D


    Das Ajax hört sich sauberer und "einfacher äh ne, zukunftssicherer" an.

    Hai,


    Programiere gerade seit einer Woche mit HTML , ich bekomme einfach mein dropdown Menü nicht zum laufen, der Anfang HTML/CSS3 funzt super 🤩 aber ich will das die unter Kategorien Slideshow usw. Genau so funzen könnt ihr mir helfen ? Hatte groses vorgehabt wie eine Div Box zu erstellen . Bitte Bitte Meine Hompage 👉👉👉 https://dblagojevic.000webhostapp.com/#


    Aja die Hompage ist für handY ausgerichtet

    Hi Dekiblago,

    also für ne Woche ist das doch schonmal was.


    Aber ich denke nicht das die Seite für Handys ausgerichtet ist.

    Entweder sehe ich das falsch oder die ist nicht responsiv.


    Abgesehen von den Dingen die Basti 1012 schon erwähnt hat.


    Da musste nochmal ran. :)

    Hallo Stef, aber gerne doch, obwohl es bestimmt peinlich wird :D

    meine Abfrage:

    Sieht danach aus das es genau so ist wie du schon vermutet hattest.

    So. Nun das Formular:


    Ich gehe mal davon aus, dass das foreachschleifchen in meine pizzaactionupdatedb.php gehört oder integriert werden kann?


    Oder gleich auf Ajax umstellen, dann aktualisiert er das ohne Seiten-Reload.

    Jetzt hast du alles in eine Datei (Affenformular), oder?

    Wie Stef schon sagte, hast du wahrscheinlich die rein folge falsch,

    Basti....du siehst doch was ich hier poste und dann willste mir nun noch Ajax aufdrücken? :D

    Ne, schau ich mir gerne mal an. Ist mir namendlich natürlich schon das ein oder andere mal über den Monitor gelaufen.

    Hättest du da en Bsp?


    Wie du bestimmt siehst ist es wohl ne Mischung aus Affenformular und include :D


    Ich hab heute Morgen auch schon versucht das hin und her und her und hin zu schieben aber es möchte noch nicht.


    Muss mal sehen ob das heute Morgen noch was wird oder heute Mittag. Die Zeit die fliegt ja nur so vorm Monitor.


    Danke euch schonmal. :)

    Guten zusammen,

    ich würde gerne eine Statusänderung/Statusanzeige realisieren.


    Immerhin habe ich es soweit hinbekommen das wenn ich die Checkbox anhake und auf Update Data gehe, er mir den Wert in die DB schreibt.


    Er aktualisiert allerdings erst nach einem Reload der Seite. Das gefällt mir nicht wirklich. Ich habe aber nicht gefunden warum, weshalb, wieso. -.-

    Den Header alle x sec neu zu laden fand ich nicht so prickelnd.

    Zum einen wäre ich hier für Tipps schon dankbar aber auch für andere Ideen. :)


    pasted-from-clipboard.png


    Der Formularcode:

    Der php Code:

    So da is er wieder :D


    Ich wollte das Thema nicht so "offen" stehen lassen. Deshalb ein Status Update:


    Ich/Ihr habe(n) es nun mit denke ich halbwegs anständigem Code hinbekommen Daten in die Datenbank zu senden(auch Multiauswahl) und diese aus der Tabelle anzeigen zu lassen.


    *Gääähnnnnn* denkt ihr nun :D klar wenn ich so lese was ihr sonst so postet is das Kinderkram. Für mich schon viel.


    Wie schon erwähnt ist es kein echtes Projekt. Die Funktionen die in solch einem "Bestellsystem" benötigt werden, denke ich werden fast überall benötigt. Deshalb fiel die Wahl darauf.


    Zurzeit beschäftige ich mich mit CRUD und werde euch die Tage bestimmt auch nochmal anfunken müssen, da ich entweder nach den falschen Begriffe google oder es z.B nichtmal ne gute Anleitung gibt wie der Button im Bild auf "checked" gesetzt werden kann(mit Eintrag in DB) und dann wieder als checked angezeigt wird.

    Aber....da wurschtel ich noch ein wenig rum. :)


    Jedem ein großes Dankeschön schonmal.


    pasted-from-clipboard.pngpasted-from-clipboard.png

    Hello,

    neee noch hab ich nicht ganz verstanden was du da brauchst. Kann dir zwar nicht viel helfen aber würds versuchen.


    Du möchtest das bei einem Datenbankeintrag automatisch htmlcode geschrieben wird und dir ne Datenbank ausgibt?


    Wenn du, wo, nach [Test] suchst soll die Tabelle ausgegeben werden?


    Du kannst doch eine Tabelle erstellen und die Daten generell aus der DB abrufen. Ok ggf musst du dich noch mit Suchfunktionen befassen aber....


    Meinst du so etwas?

    pasted-from-clipboard.pngpasted-from-clipboard.png

    Das Thema wird irgendwie immer komplizierter und dein Code auch.

    PHP
    1. ("INSERT INTO xxx.pizzabestellung( // Ist das xxx richtig ? oder willst du was verschleiern ?
    2. $_POST["value"] // wo kommt den das value auf einmal her ?

    PDO ist nicht mein Fach,


    PHP
    1. $stmt->bindParam(':Belag',$_POST["value"], PDO::PARAM_STR);
    2. foreach($_POST["Belag"] as $key => $value){
    3. $stmt->execute();
    4. }

    deswegen frage ich mal, ob das überhaupt so gehen kann ?

    Selbst wenn du $_POST['value'] mit $value tauscht kann ich mir nicht vorstellen, dass es so geht.


    Hallo Basti 1012,

    ja das ist Verschleierungstaktik :D


    Das Value kommt vom Belag.


    Also in Kombination mit den Definitionen:

    Code
    1. $Kundennr = $_POST["Kundennr"];
    2. $Pizza = $_POST["Pizza"];
    3. $Belag = $_POST["Belag"];

    Funktioniert diese Variante:

    Code
    1. $stmt->bindParam(':Kundennr',$Kundennr, PDO::PARAM_STR);$stmt->bindParam(':Pizza',$Pizza, PDO::PARAM_STR);$stmt->bindParam(':Belag',$value, PDO::PARAM_STR);

    pasted-from-clipboard.png

    Er macht dann wie schon erwähnt, für jeden Belag einen Eintrag in die DB.


    Ob das so soll, da muss ich noch schauen.

    Zunächst ging es um die Berichtigung des munierten Code.


    Da ja der Vorschlag war die "Definition" zu lassen, frimel ich an der korrekten Weise....


    Sorry wenns so langsam nervt.

    Dann überprüfe doch mal, wo der Fehler liegt, siehe https://www.php.net/manual/en/pdostatement.errorinfo.php

    Danke. :)


    Mmmhh wenn ich das nun richtig gemacht habe so auf die Schnelle, könnte man meinen das mein Belag leer ist? und wer ißt schon gerne Pizza ohne Belag :D

    Code
    1. Array ( [0] => 23000 [1] => 1048 [2] => Column 'Belag' cannot be null ) Array ( [0] => 23000 [1] => 1048 [2] => Column 'Belag' cannot be null )

    Werde ich mir Morgen genauer anschauen. Muss nun ans Wasser. :)

    $stmt->bindParam(':Kundennr',$Kundennr, PDO::PARAM_STR);


    $stmt->bindParam(':Kundennr',$_POST["Kundennr"], PDO::PARAM_STR);

    Sorry, geht nicht.

    Ich habe, weil der Schlingel mich so oft reingelegt hat, die DB im PHP My Admin gelöscht und neu angelegt, dann den Code getestet:

    Er sendet nichts in die Datenbank.


    Dann wieder zurückgedreht und dann sendet er. ?(


    Formularauswahl(nicht das ich da was verdaddelt hab):

    Code
    1. <div class="form-group">
    2. <label>Pizza auswählen:</label>
    3. <select class="form-control select2" name="Pizza" data-placeholder="Pizza wählen." style="width: 100%;" >
    4. <option></option>
    5. <option value="Carlo">Carlo</option>
    6. <option value="Carme">Carme</option>
    7. <option value="Gio">Gio</option>
    8. </select>
    9. </div>

    Sicherheitstechnisch, ja. Wirklich gut/richtig ist es aber nicht: zum einen hast du meinen Pseudocode nicht genau gelesen, das prepare gehört *vor* die Schleife, das muss nicht bei jedem Durchlauf erneut aufgerufen werden. Zum Anderen greifst du auf $_POST["Belag"] und überprüfst dann erst ob das Element überhaupt existiert … Lass das unsinnige Umkopieren der Werte in die Variablen einfach ganz weg und weis in $para direkt die Werte aus $_POST zu.


    Also ich bin mir fast sicher diese Variante schon mal gehabt zu haben, diese aber nicht ausgeführt wurde, ich die db neu gemacht habe und und und und und.

    Also....ÖRGS!


    Also die neue hoffentlich verbesserte Variante.



    Ja und sowas dauert bei mir in der Tat en paar Stunden. -.-

    Egal. Wird für etwas gut sein.



    Lass das unsinnige Umkopieren der Werte in die Variablen einfach ganz weg

    Da weiß ich nicht genau was du meinst....


    Den Block hier:

    Code
    1. $Kundennr = $_POST["Kundennr"];
    2. $Pizza = $_POST["Pizza"];
    3. $Belag = $_POST["Belag"];

    brauch ich doch?

    Und prepared Statements dabei natürlich richtig verwenden - so wie du das machst ist es falsch: im Query dürfen nur Platzhalter stehen, die Werte werden mit execute (bzw. eine bind-Methode) übergeben (Pseudocode):

    PHP
    1. $query = "INSERT INTO tabelle (spalte) VALUES (:value)"
    2. $stm = $db->prepare($query)
    3. foreach($_POST[] as ){
    4.   $stm->execute(['value' => $value])
    5. }

    Zudem fehlt beim Aufbau der Datenbankverbindung noch ein »;charset=utf8mb4« am Ende des DSN (bei dir die Variable $server) damit definiert ist in welcher Form du Daten bekommst bzw. in welcher Form sie die Datenbank erwartet - wenn du das weglässt bist du auf die Standardeinstellung angewiesen und die kann sich ändern.

    Sorry heute mittag überlesen.


    Besser so?


    Und keine Angst es ist nicht für meinen oder einen Pizzaservice. Es handelt sich um ein nicht kommerzielles Projekt.

    Das Beispiel fand ich treffend, da ich nun überlegen wollte wie ich den 'Belag' der ja aus mehreren Dingen bestehen kann, in eine DB sende damit ich eben nicht

    Salami, Schinken, Käse in der Spalte Belag stehen habe, weil man das ja nicht macht. :)


    Aber für heute Leute.....is der Tank leer.


    Danke soweit an alle.

    In deinem Posting #6 sehe ich nur diesen Code:

    Code
    1. if(isset($_POST['Panel'])){
    2. foreach($_POST['Panel'] as $key => $val){
    3. }

    Du hast Da eine leere foreach-Schleife. Poste doch Mal, wie es vollständig aussieht, einschl. Eintragen in die DB. Ich hoffe, Du hast letzteres nicht etwa hinter dieser Schleife notiert.

    Och ich bin mir sicher das ich fast alles verdaddelt hab was es da zu verdaddeln gibt :D


    Du hast natürlich recht, die Echoausgabe sagt:

    <option value="volvo">volvo</option>

    <option value="fiat">fiat</option>

    pasted-from-clipboard.png


    er schreibt aber nur fiat in die DB

    pasted-from-clipboard.png


    Ich übergebe doch den Wert indem ich:


    INSERT INTO MEINEDATENBANK (MEINESPALTE) VALUES ('$val');";


    schreibe?