Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Daten in eine Datenbank mittels Checkbox speichern

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Daten in eine Datenbank mittels Checkbox speichern

    Hallo miteinander,

    ich stehe momentan vor dem Problem, dass ich Daten, in dem Falle "1 für Ja" und "0 für nein", also boolsche Werte in eine Datenbank speichern möchte.

    Vorab habe ich mir eine Tabelle über html mit den Checkboxen gebaut, bei dem Code dürfte alles passen, ich bekomme nur keinen Bezug zu der ID in der Datenbank hin.

    Vielleicht habt ihr ja einen Tipp für mich!

    Vielen Dank im Voraus.

    MfG,
    Persie

  • #2
    Willst Du Daten eintragen? Wenn ja, warum Bezug zu einer ID? Nimmst doch einfach einen INSERT INTO Befehl und deine id Spalte wird ja vermutlich automatisch hochgezählt (da auto_increment, oder nicht?!). Wenn Du ein UPDATE machen möchtest, musst Du natürlich eine Zuweisung, z.B. die ID, in einem jeweiligen hidden Feld oder sonstigem, vorher ablegen, damit Du nach dem abschicken des Formulares darauf zugreifen kannst.

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      Die Daten, also 1 und 0, sollen durch ein Ankreuzen in der Checkbox in die Datenbank eingetragen werden, also:

      wenn angekreuzt, dann 1 -> speichern, wenn nicht angekreuzt, dann 0 -> speichern

      Es soll nichts explizit angezeigt werden, nur eben die die Übersicht mit den Checkboxen.

      Kommentar


      • #4
        Bin mir nicht sicher, ob ich die verstehe, aber wenn du nur durch Klick auf eine Checkbox speichern willst, brauchst Du AJAX.

        Wolf29
        while (!asleep()) sheep++;

        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

        Kommentar


        • #5
          Nein, nicht ganz, die checkbox soll ausgewählt werden und dann durch einen extrabutton "speichern" in die db übertragen werden

          Kommentar


          • #6
            Ok, also ein normales Formular. Dann befüllst du den Value der jeweiligen Checkbox einmal mit "1" und mit "0". Das kannst Du nach dem absenden der Form übernehmen. Hier nochmal, wie man Checkboxen vernünftig erstellt:

            SELFHTML: HTML/XHTML / Formulare / Auswahllisten, Radio-Buttons und Checkboxen

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              Ok, also ein normales Formular. Dann befüllst du den Value der jeweiligen Checkbox einmal mit "1" und mit "0". Das kannst Du nach dem absenden der Form übernehmen.
              Du liest nicht vernünftig.
              Die Daten, also 1 und 0, sollen durch ein Ankreuzen in der Checkbox in die Datenbank eingetragen werden, also:

              wenn angekreuzt, dann 1 -> speichern, wenn nicht angekreuzt, dann 0 -> speichern
              @TE: Checkboxes werden nicht angekreuzt auch nicht übertragen. Daher musst Du 0 als den Defaultwert vorsehen. Entweder PHP-seitig oder direkt in der DB.
              [COLOR="#F5F5FF"]--[/COLOR]
              [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
              „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
              [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
              [COLOR="#F5F5FF"]
              --[/COLOR]

              Kommentar


              • #8
                Ahhhh....ok, hast recht.

                Wolf29
                while (!asleep()) sheep++;

                Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                Kommentar


                • #9
                  Zitat von nikosch Beitrag anzeigen
                  @TE: Checkboxes werden nicht angekreuzt auch nicht übertragen. Daher musst Du 0 als den Defaultwert vorsehen. Entweder PHP-seitig oder direkt in der DB.
                  und wie setze ich das dann um?

                  das was in der checkbox angekreuzt ist, soll durch speichern in die db übernommen werden.

                  hier mal meine ansätze:

                  PHP-Code:
                  <?php
                  require_once 'confiq.php';


                  $l_id 'l_id';
                  $p_id 'p_id';

                  $p_id $l_id;


                  if (isset(
                  $_POST['p_id']))
                  {
                  $sql "INSERT INTO pivot ( `teile_1`,
                                              `teile_2`,
                                              `teile_3`,
                                              `teile_4`,
                                              `teile_5`,
                                              `teile_6`,
                                              `teile_7`,
                                              `teile_8`,
                                              `teile_9`, 
                                              
                                              
                                               )
                                             
                          VALUES (  '"
                  .$_POST['teile_1']."',
                                    '"
                  .$_POST['teile_2']."',
                                    '"
                  .$_POST['teile_3']."',
                                    '"
                  .$_POST['teile_4']."',
                                    '"
                  .$_POST['teile_5']."',
                                    '"
                  .$_POST['teile_6']."',
                                    '"
                  .$_POST['teile_7']."',
                                    '"
                  .$_POST['teile_8']."',
                                    '"
                  .$_POST['teile_9']."',
                                    
                                    
                                     )"
                  ;
                          
                    if (
                  mysql_query($sql))
                    {
                      
                  $text 'Der Lieferant wurde klassifiziert';
                    }
                    else
                    {
                      
                  $text "FEHLER: Der Lieferant wurde nicht klassifiziert. Fehler: ".$mysql_error();
                    }
                  }

                  ?>

                  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                  <html xmlns="http://www.w3.org/1999/xhtml">
                    <head>
                      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                        <title>Lieferanten klassifizieren</title>
                          <link rel="shortcut icon" href="images/Black-2.ico">

                  <table border="0">
                    <thead>
                      <tr>
                        <td><a<img src="images/startlogo.gif"></a></td>
                      </tr>
                      <tr>
                        <td><a<img src="images/startbild.jpg""></a></td>
                        <td><a href="index.php?id=<?php echo $id?>"><b><font size="3">Zur&uuml;ck zum Hauptmen&uuml;</font></b></a></td>
                      </tr>
                    </thead>
                  </table>

                  </head>
                  <body

                  <style type="text/css">
                  caption 
                  {
                    background-color: darkgrey;
                    color: black;
                    font-weight: bold;
                    border-style: solid;
                    border-color: darkgrey;
                  }
                  </style>

                  <form method="post" action="lieferanten-klassifizieren.php">
                    <table cellpadding="8" cellspacing="0" border="3">
                      <caption>Lieferanten klassifizieren</caption>
                        <tfoot>
                          <tr>
                            <td><center<a href="index.php?id=<?php echo $id?>">Zur&uuml;ck</a></center></td>
                            <td colspan="11" style="text-align: right"><input type="submit" name="submit" value="Speichern"/></td>
                          </tr>
                        </tfoot>
                        
                        <thead valign="middle" align="center">
                          <tr>
                            <th>Teileklasse</th>
                              <th>ja</th>
                            <th>Durchmesser</th>
                              <th>ja</th>                    
                            <th>L&auml;nge/ Breite</th>
                              <th>ja</th>          
                            <th>Gewicht</th>
                              <th>ja</th>          
                            <th>Symmetrie</th>
                              <th>ja</th>          
                            <th>St&uuml;ckzahl</th>
                              <th>ja</th>          
                          </tr>
                            <tr>                                   
                              <td><b>   Schmiederohling:</b> <i>Hatebur - warm                    </i></td>
                              <td><input type="checkbox" value="teile_1">                        </td>
                              <td>      0 < x < 50                                                </td>
                              <td><input type="checkbox" value="durch_1"                          </td>
                              <td>      0 < x < 10                                                </td>
                              <td><input type="checkbox" value="laenge_1"                         </td>
                              <td>      0 < x < 0,1                                               </td>
                              <td><input type="checkbox" value="gewicht_1"                        </td>
                              <td>      symmetrisch                                               </td>
                              <td><input type="checkbox" value="sym_1"                            </td>
                              <td>      1 < x < 10                                                </td>
                              <td><input type="checkbox" value="stueck_1"                         </td>
                            </tr>
                            <tr>
                              <td><b>   Schmiederohling:</b> <i>Hatebur + kaltnachgeformt         </i></td>
                              <td><input type="checkbox"  value="teile_2"                         </td>
                              <td>      50 < x < 100                                              </td>
                              <td><input type="checkbox"  value="durch_2"                         </td>
                              <td>      10 < x < 40                                               </td>
                              <td><input type="checkbox"  value="laenge_2"                        </td>
                              <td>      0,1 < x < 0,5                                             </td>
                              <td><input type="checkbox"  value="gewicht_2"                       </td>
                              <td>      nicht symmetrisch                                         </td>
                              <td><input type="checkbox"  value="sym_2"                           </td>
                              <td>      10 < x < 100                                              </td>
                              <td><input type="checkbox"  value="stueck_2"                        </td>
                            </tr>
                            <tr>
                              <td><b>   Schmiederohling:</b> <i>Konventionell - warm              </i></td>
                              <td><input type="checkbox"                                          </td>
                              <td>      100 < x < 200                                             </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      40 < x < 60                                               </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      0,5 < x < 1                                               </td>
                              <td><input type="checkbox"                                          </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>      100 < x < 1.000                                           </td>
                              <td><input type="checkbox"</td>
                            </tr>
                            <tr>
                              <td><b>   Schmiederohling:</b> <i>Konventionell + kaltnachgeformt   </i></td>
                              <td><input type="checkbox"                                          </td>
                              <td>      200 < x < 300                                             </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      60 < x < 100                                              </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      1 < x < 5                                                 </td>
                              <td><input type="checkbox"                                          </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>      1.000 < x < 10.000                                        </td>
                              <td><input type="checkbox"</td>
                            </tr>
                            <tr>
                              <td><b>   Halbzeug:</b> <i>Stange (rund)                            </i></td>
                              <td><input type="checkbox"                                          </td>
                              <td>      300 < x < 400                                             </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      100 < x < 400                                             </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      5 < x < 10                                                </td>
                              <td><input type="checkbox"                                          </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>      10.000 < x < 100.000                                      </td>
                              <td><input type="checkbox"                                          </td>
                            </tr>
                            <tr>
                              <td><b>   Halbzeug:</b> <i>Stange (rechteckig)                      </i></td>
                              <td><input type="checkbox"                                          </td>
                              <td>      400 < x < 500                                             </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      400 < x < 800                                             </td>
                              <td><input type="checkbox"                                          </td>
                              <td>      10 < x < 15                                               </td>
                              <td><input type="checkbox"                                          </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>      100.000 < x < 500.000                                     </td>
                              <td><input type="checkbox"</td>
                            </tr>
                            <tr>
                              <td><b>   Sinterrohling                                             </b></td>
                              <td><input type="checkbox"                                          </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>      500.000 < x < 1.000.000                                   </td>
                              <td><input type="checkbox"</td>
                            </tr>
                            <tr>
                              <td><b>   Stanzrohling                                              </b></td>
                              <td><input type="checkbox"                                          </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>                                                                </td>
                              <td>      1.000.000 < x < ...                                       </td>
                              <td><input type="checkbox"                                          </td>
                            </tr>
                            <tr>
                              <td><b>   Sonstige                                                  </b></td>
                              <td><input type="checkbox"                                          </td>
                              <td>sonstige                                                        </td>
                              <td><input type="checkbox"                                          </td>
                              <td>sonstige                                                        </td>
                              <td><input type="checkbox"                                          </td>
                              <td>sonstige                                                        </td>
                              <td><input type="checkbox"                                          </td>
                              <td>sonstige                                                        </td>
                              <td><input type="checkbox"                                          </td>
                              <td>sonstige                                                        </td>
                              <td><input type="checkbox"                                          </td>
                            </tr>    
                        </thead>
                    </table>    
                  </form>

                  </body>
                  </html>
                  es ist noch nichts fertig und ich hab php nicht wirklich drauf, also seid gnädig mit mir

                  für hilfe schonmal vielen dank!

                  Kommentar


                  • #10
                    Na ein bissel Formularverarbeituing musst Du schon noch selbst einbauen. Die Checkboxes brauchen erstmal Namen.
                    [COLOR="#F5F5FF"]--[/COLOR]
                    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                    [COLOR="#F5F5FF"]
                    --[/COLOR]

                    Kommentar


                    • #11
                      Also muss ich 43 Checkboxen definieren?

                      Kommentar


                      • #12
                        Keine Ahnung, ich kann oben keine Logik erkennen, nach der DU eintragen willst. Ich sehe viele namenlose Checkboxes und sechs Eingabewerte, woher auch immer die dann kommen.
                        [COLOR="#F5F5FF"]--[/COLOR]
                        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                        [COLOR="#F5F5FF"]
                        --[/COLOR]

                        Kommentar


                        • #13
                          Den Namen der Checkbox vergebe ich anhand der MySQL-Tabelle, da dort die 43 Spalten zu den 43 Checkboxen gelagert sind.

                          zugegeben, die habe ich noch nicht benannt, kann ich gerne nachholen, wüsste aber nicht, was das bringt, wenn mein problem dabei liegt daten anhand der checkboxen in meine db zu bekommen...

                          Wenn ich aber die Checkbox anklicke, wie sag ich ihr denn, dass diese eine 1 für angeklickt sein oder 0 für nicht angeklickt sein, ins die tabelle der db eintragen soll?

                          Kommentar


                          • #14
                            zugegeben, die habe ich noch nicht benannt, kann ich gerne nachholen, wüsste aber nicht, was das bringt, wenn mein problem dabei liegt daten anhand der checkboxen in meine db zu bekommen...
                            Tja, so funktioniert das nunmal in PHP. Woher soll PHP denn wissen, welche Checkbox übertragen wurde, wenn die namenlos sind.
                            Wenn ich aber die Checkbox anklicke, wie sag ich ihr denn, dass diese eine 1 für angeklickt sein oder 0 für nicht angeklickt sein, ins die tabelle der db eintragen soll?
                            Alles zu seiner Zeit.
                            [COLOR="#F5F5FF"]--[/COLOR]
                            [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
                            „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
                            [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
                            [COLOR="#F5F5FF"]
                            --[/COLOR]

                            Kommentar


                            • #15
                              Die Namen sind nun die Checkboxen zugeordnet.

                              Soll ich jetzt diese 43 Checkboxen einzeln definieren, oder welche Vorgehensweise schlägst du vor?

                              Kommentar

                              Lädt...
                              X