Ankündigung

Einklappen
Keine Ankündigung bisher.

php checkboxen mysql db

Einklappen

Neue Werbung 2019

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

  • php checkboxen mysql db

    Hi Leute!
    Hab ein kleines Problem:
    Habe Einträge in ner DB und die werden in ne Liste geladen... LINKS neben jedem Eintrag ist ne Checkbox um eine od mehrere Zeilen zu markieren.
    Nach dem markieren will ich mit nem Klick auf nen Submit-Button in der DB eine bestimmte Spalte bei den markierten Zeilen ändern... also von active auf Completed z.B.

    Hier mal n Codeschnipsel:
    PHP-Code:
    <table width="400" border="1" align="center" bgcolor="#0099FF">
      <th colspan="4" align="center">Medikamente </th>
      </tr>
      <th width="24" align="center">X</th>
      <th width="86" align="center">Medikament</th>
      <th width="33" align="center">PZN</th>
      <th width="46" align="center">Status ac/co</th>
      <th width="44" align="center">Ersatz</th>
      <th width="39" align="center">Stück</th>
      <th width="105" align="center">Packungsgröße</th>
      <th width="90" align="center">Einnahmeart</th>
      <th width="36" align="center">Dosis</th>
      <th width="93" align="center">Einnahmezeit</th>
      <th width="34" align="center">Von:</th>
      <th width="26" align="center">Bis:</th>
        
          <?php 
        
    include ("connector.php");
        
    $svn_suche=$_POST["svn_read"];
        if(isset(
    $_POST['submit']))
            {
                
    $query "SELECT name,pzn,acco,ersatz,pk,pkg,routecode,dose,ezeit,von,bis FROM MK_Medikamente where r_id=(select r_id from MK_Rezept where ecardnr = '$svn_suche')";
                
    $result mysql_query($query);
                while (
    $row mysql_fetch_assoc($result)){ 
                
    ?>
         <tr>
             <td><input name="print[]" type="checkbox" value="<?php print $row["pzn"];?>"/></td>
            <td><?php print $row['name']; ?></td>
            <td><?php print $row['pzn']; ?></td>
            <td><?php print $row['acco']; ?></td>
            <td><?php print $row['ersatz']; ?></td>
            <td><?php print $row['pk']; ?></td>
            <td><?php print $row['pkg']; ?></td>
            <td><?php print $row['routecode']; ?></td>
            <td><?php print $row['dose']; ?></td>
            <td><?php print $row['ezeit']; ?></td>
            <td><?php print $row['von']; ?></td>
            <td><?php print $row['bis']; ?></td>
        </tr>
        <?php }?>
        <?php }?>    
        <tr>
            <td width="33%"><input name="ausgabe1" type="submit" value="Ausgeben" />
     </td>
    </table>
    Das hab ich bis jez recherchiert, aber komme nicht auf ein Ergebnis:
    PHP-Code:
    if (isset($_POST["ausgabe1"]))
    {
        include (
    "connector.php");
        foreach (
    $_POST["print"] as $key => $value)
            {
                
    $query "insert into MK_Medikamente(acco) values('complete') where r_id=(select r_id from MK_Rezept where ecardnr = '$svn_suche') AND pzn ='"$value ."'";
                
        
    mysql_query($query);
        
    mysql_close();
            }

    Hoffe Ihr könnt mir weiterhelfen!

    LG,
    Mario

  • #2
    Hallo und Willkommen im Forum!

    So wie ich das grad einschätze willst du Datensätze die aus einer Tabelle kommen ändern bzw. dessen Wert ändern richtig?

    Dann musst du ein Update Statement verwenden und kein Insert Into!

    mfg der Litter
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    [URL]http://www.lit-web.de[/URL]

    Kommentar


    • #3
      Hi!
      Mir gehts nicht um den DB ansatz(aba stimmt xD*blush*) thx =);
      Aba wie geht das mit den Checkboxen? das is mein großes Problem...
      Er kapiert nicht dass er beim submit etwas tun soll... der Browser tut nichts :/
      Habt ihr da ne idee??

      lg,
      mario

      Kommentar


      • #4
        Kann es sein du hast vergessen die <form></form> Tgs um die Sachen drum zu legen die du in die DB schreiben willst? Denn das sehe ich nämlich nicht bei dir! Zeige auch mal die Checkboxen!

        Warum nimmst du hier print?
        PHP-Code:
        <?php print $row['bis']; ?>
        Nimm doch echo
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        [URL]http://www.lit-web.de[/URL]

        Kommentar


        • #5
          hi!
          also die checkboxen sidn nach dem db query vor den spaltenfüllungen nach der while schleife.
          habs zuvor mit echo probiert aba hab da was vermurkst und mir print funktioniert die ausgabe .

          ja... ich möchte für die selektierte zeile einen wert ändern (update hab ich umgeändert...blöder fehler) aber wie kann ich die selektierten zeilen ansprechen?
          da es beliebig viele werden können müsste ich da bei Value eine variable hochzählen lassen ( bzw geht es vllt dass ich in den value den primary key aus der db table nehme?)

          lg,
          mario

          Kommentar


          • #6
            Du nimmst keinen Primary Key sondern eine ID! Und du solltest mal zeigen wie deine Checkboxen aussehen also wie du sie schreibst! steht neben jedem Datensatz eine Checkbox?

            Und Die Datensätze sprichst du dann mit dem Update einfach über die ID an und überschreibst sie dem entsprechend!
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            [URL]http://www.lit-web.de[/URL]

            Kommentar


            • #7
              Du hast das grundsätzlich schon richtig gemacht mit den Checkboxen und dem Array-Value. Du musst da nicht manuell eine Variable hochzählen.

              Aber du musst unbedingt die <form>-Tags um das ganze Formular rummachen und angeben, wohin die Daten wie geschickt werden sollen, sonst passiert rein gar nichts.

              EDIT: @litterauspirma: Im Quellcode, den er gepostet hat, ist die Syntax für die Checkboxes doch ersichtlich, wo liegt das Problem?

              Kommentar


              • #8
                Boa ich Hirnie,man verzeihe mir meine Blindheit bitte,habe das wirklich übersehen! Aber die fehlenden Form Tags habe ich dann doch richtig wahrgenommen!
                Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                [URL]http://www.lit-web.de[/URL]

                Kommentar


                • #9
                  hi!
                  frage zu den form Tags =):
                  wie weit kann ich die Form ziehen? ich will ja alle X checkboxen unter einem Submitbutton abhandeln ohne pro box einen button machen zu müssen
                  Kann das </form> ja nicht erst nach der letzten spalte setzen...

                  PHP-Code:
                  <form name="alter" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
                          <input name="aendern" type="hidden" value="1">
                  <table width="400" border="1" align="center" bgcolor="#0099FF">
                    <th colspan="4" align="center">Medikamente </th>
                    </tr>
                    <th width="24" align="center">X</th>
                    <th width="86" align="center">Medikament</th>
                    <th width="33" align="center">PZN</th>
                    <th width="46" align="center">Status ac/co</th>
                    <th width="44" align="center">Ersatz</th>
                    <th width="39" align="center">Stück</th>
                    <th width="105" align="center">Packungsgröße</th>
                    <th width="90" align="center">Einnahmeart</th>
                    <th width="36" align="center">Dosis</th>
                    <th width="93" align="center">Einnahmezeit</th>
                    <th width="34" align="center">Von:</th>
                    <th width="26" align="center">Bis:</th>
                      
                        <?php 
                      
                  include ("connector.php");
                      
                  $svn_suche=$_POST["svn_read"];
                      if(isset(
                  $_POST['submit']))
                          {
                              
                  $query "SELECT name,pzn,acco,ersatz,pk,pkg,routecode,dose,ezeit,von,bis FROM MK_Medikamente where r_id=(select r_id from MK_Rezept where ecardnr = '$svn_suche')";
                              
                  $result mysql_query($query);
                              while (
                  $row mysql_fetch_assoc($result)){ 
                              
                  ?>
                       <tr>
                           <td>
                          <input name="print[]" type="checkbox" value="<?php print $row["pzn"];?>"/>
                          </td>
                          <td><?php print $row['name']; ?></td>
                          <td><?php print $row['pzn']; ?></td>
                          <td><?php print $row['acco']; ?></td>
                          <td><?php print $row['ersatz']; ?></td>
                          <td><?php print $row['pk']; ?></td>
                          <td><?php print $row['pkg']; ?></td>
                          <td><?php print $row['routecode']; ?></td>
                          <td><?php print $row['dose']; ?></td>
                          <td><?php print $row['ezeit']; ?></td>
                          <td><?php print $row['von']; ?></td>
                          <td><?php print $row['bis']; ?></td>
                      </tr>
                      <?php }?>
                      <?php }?>    
                      <tr>
                          <td width="33%"><input name="ausgabe1" type="submit" value="Ausgeben" />
                      </td>
                  </table>
                  </form>
                  okay jez is über die ganze tabelle ne form =)! und wenn ich jez klicke dann verschwinden die db einträge in der tabelle und geändert wird trotz dem update statement nichts... Mach ich nochimmer was falsch? fehlt mir im code was wichtiges?
                  lg,
                  mario

                  Kommentar


                  • #10
                    Brauchst du auch nicht. Setze die Form Tags um das was dein Formular Inhalt darstellt da du ja die Daten in einer While Schleife ausliest sind immer authomatisch Bestandteil im Formular!

                    PHP-Code:
                    <form action="" method="">
                    <?php 
                        
                    include ("connector.php");
                        
                    $svn_suche=$_POST["svn_read"];
                        if(isset(
                    $_POST['submit']))
                            {
                                
                    $query "SELECT name,pzn,acco,ersatz,pk,pkg,routecode,dose,ezeit,von,bis FROM MK_Medikamente where r_id=(select r_id from MK_Rezept where ecardnr = '$svn_suche')";
                                
                    $result mysql_query($query);
                                while (
                    $row mysql_fetch_assoc($result)){ 
                                
                    ?>
                         <tr>
                             <td><input name="print[]" type="checkbox" value="<?php print $row["pzn"];?>"/></td>
                            <td><?php print $row['name']; ?></td>
                            <td><?php print $row['pzn']; ?></td>
                            <td><?php print $row['acco']; ?></td>
                            <td><?php print $row['ersatz']; ?></td>
                            <td><?php print $row['pk']; ?></td>
                            <td><?php print $row['pkg']; ?></td>
                            <td><?php print $row['routecode']; ?></td>
                            <td><?php print $row['dose']; ?></td>
                            <td><?php print $row['ezeit']; ?></td>
                            <td><?php print $row['von']; ?></td>
                            <td><?php print $row['bis']; ?></td>
                        </tr>
                        <?php }?>
                        <?php }?>    
                        <tr>
                            <td width="33%"><input name="ausgabe1" type="submit" value="Ausgeben" />
                     </td>
                    </form>
                    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                    [URL]http://www.lit-web.de[/URL]

                    Kommentar


                    • #11
                      hi nochmal!
                      also das mit den formtags ist mir nun klar.
                      brauche ich als action nicht <?php echo $_SERVER['PHP_SELF']?> damit ich die änderung auch sehe/also damit er sozusagen refresht?

                      <input name="print[]" type="checkbox" value="<?php print $row["pzn"];?>"/>

                      Die 2 Zeilen hier sollten doch eigentlich die komplette Übergabe machen oder? Also der checkbox den value der in der db stehenden pzn geben?

                      kann ich dann nicht einfach (das oben gepostete funkltioniert ja leider irgendwie nciht =/) sagen, dass wenn die checkbox (gibt es da ein problem weil alle checkboxen print[] heissen - zumindest wird es beim quelltext im browser so angezeit) einen wert hat soll sie ein query ausführen???

                      lg,
                      mario

                      Kommentar


                      • #12
                        Also ich mache das in einem Script von mir zum Beispiel so. Nur das ich ein Insert Into verwende weil ich ja erst was neu rein schreibe!

                        Das ist nur ein Schnipsel zum test also noch nichts mit Sicherheiten oder so denn wenn ich das in meinem File Script nutze wird das dann natürlich alles geändert. Vieleicht hilft das Schnipsel ein wenig!
                        PHP-Code:
                        <?php
                        if(isset($_POST['send']))
                        {
                         
                        $cat $_POST['cat'];
                         
                        $erlaubt $_POST['erlaubt'];
                         
                        $erlaube implode("|"$erlaubt);
                         
                        $sqlbefehl ="Insert Into $tab_cats
                            (name,erlaubt)
                          VALUES ('
                        $cat','$erlaube')
                            "
                        ;
                         
                        $result mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
                          
                        mkdir($cat);
                         
                        header("Location: index.php");
                        }
                         
                        <
                        form action="<?php echo htmlentities($_SERVER['PHP_SELF']) ?>" method="post">
                        <
                        input type="text" name="cat">
                        <
                        br />
                        Erlaubte Datein!
                        <
                        br />
                         
                        $sqlbefehl ="Select id,endung From $tab_endungen";
                        $ergebnis mysql_query($sqlbefehl)or die(mysql_error().$sqlbefehl);
                        while(
                        $row mysql_fetch_array($ergebnis)){
                         echo 
                        "<input type=\"checkbox\" name=\"erlaubt[]\" value=\"".$row['endung']."\"> ".$row['endung']."<br>";
                        }
                         
                        <
                        input type="submit" name="send" value="Senden">
                        </
                        form>
                        ?>
                        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                        [URL]http://www.lit-web.de[/URL]

                        Kommentar

                        Lädt...
                        X