nichtgeklickte Checkbox

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

  • nichtgeklickte Checkbox

    wie kann ich den Wert der nichtgeklickten Checkboxen herauskriegen ? Mit count($array) kann ich ja die geklickten Checkboxen zählen, aber ich möchte wissen wie das bei den nichtgeklickten aussieht, da z.B. bei der Useradministration ein Checkbox ja entfernt werden könnte, sodass dieser per DELETE FROM gelöscht wird.

  • #2
    Da der Wert einer nichtgeklickten checkbox nicht übertragen wird,

    kannst du entweder, alles das löschen was nicht übertragen wurde (musst also wissen welche checkboxen es gibt).


    oder du nimst radio-buttons, zum an und auschalten einer funktion .


    Wenn du mal ein bisschen code postest, gibts vielleich noch ein paar trickreichere möglichkeiten.

    gruss

    rth
    H I L F E
    GD FreeType Antialising
    Gesuch PHP Entwicklungsumgebung
    ------------------------------------------
    Der Cmabrigde rael tset, sruf whoin du wlilst

    Kommentar


    • #3
      kannst du entweder, alles das löschen was nicht übertragen wurde
      So mache ich es, danke.

      Kommentar


      • #4
        Leider wird dabei aber ein neu zugeordneter Recht sofort wieder entfernt. Gibt es vielleicht noch mehr Möglichkeiten ?

        Kommentar


        • #5
          Ja es gibt bestimmt noch andere Möglichkeiten, aber so allgemein ist das immer schwer zu sagen. Also
          Wenn du mal ein bisschen code postest.....
          kann ich Dir bestimmt noch weiterhelfen.

          grus

          rth
          H I L F E
          GD FreeType Antialising
          Gesuch PHP Entwicklungsumgebung
          ------------------------------------------
          Der Cmabrigde rael tset, sruf whoin du wlilst

          Kommentar


          • #6
            wenn du das formular anzeigst, in dem rechte vergeben werden können und auch wieder entzogen werden können, dann lies die rechte des betroffenen benutzers aus und markiere die entsprechende checkbox schon von anfang an, dann sollte das problem nicht auftreten
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              Original geschrieben von mrhappiness
              wenn du das formular anzeigst, in dem rechte vergeben werden können und auch wieder entzogen werden können, dann lies die rechte des betroffenen benutzers aus und markiere die entsprechende checkbox schon von anfang an, dann sollte das problem nicht auftreten
              Das tue ich bereits. Hier mal das Script:

              PHP-Code:
                  if ($edit2) {

                  for(
              $i=0$i<count($catid); $i++) {

                  
              $res mysql_query("SELECT * FROM $user_rights_tname WHERE userid='$id' AND catid='$catid[$i]'");
                  
              $num_rows mysql_num_rows($res);

                  if (
              $num_rows == "0") { mysql_query("INSERT INTO $user_rights_tname (catid, userid) VALUES ('$catid[$i]', '$id')"); }
                  
              mysql_query("DELETE FROM $user_rights_tname WHERE userid='$id' AND catid!='$catid[$i]'"); 
                  
                  }

                  echo 
              "Benutzer editiert.";

                  } else {

                  echo     
              "<table width='100%' border='0' cellpadding='3' cellspacing='1'>
                        <form action='?action=admin&edit=users&id=
              $id' method='post'>
                  <tr bgcolor='
              $tcolor3'><td width='30%' align='center'>Rights:</td><td width='70%'>";

                  
              $catnames mysql_query("SELECT * FROM $user_cat_tname ORDER BY id");
                  
              $rights mysql_query("SELECT * FROM $user_rights_tname WHERE userid='$id'");
                  
              $num_rows mysql_num_rows($rights);
                  while (
              $row mysql_fetch_array($rights)) { $rights_arr[] = "$row[catid]"; }

                  while (
              $cat mysql_fetch_array($catnames)) {
                  if (
              $num_rows != "0") { if (in_array($cat[id], $rights_arr)) { $checked " checked"; } }
                  echo 
              "<input type='checkbox' class='checkbox' value='$cat[id]' name='catid[]'$checked$cat[name] "$checked ""; }

                  echo 
              "</td></tr>
                  <tr><td>&nbsp;</td><td>

                  <input name='edit2' type='submit' value='edit user'> <input name='reset' type='reset' value='reset'>
                  </tr></td>
                  </form></table>"
              ; } 

              Kommentar


              • #8
                dann is die checkbox doch markeirt oder nich?

                wenn sie markiert is, kannst du sie auch abfragen, wie jede andere markierte checkbox auch

                irgendwie versteh ich dein problem nicht so ganz

                wie wär's mit nem beispiel?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  Was ich erreichen möchte ? Checkboxen, welche entfernt wurden sollen aus der Datenbank gelöscht werden.

                  Kommentar


                  • #10
                    wenn du in dem array, das du auswertest alle checkboxen drin hast, die ausgewählt wurden, dann nimm dem user doch alle rechte und geb ihm danach die, die per checkbox angegeben wurden

                    da wo du die rechte zuwesit (hab ich grad gesehen) steht ein delete drin, mach das vor die schleife und zwar so
                    Code:
                    DELETE FROM $user_rights_tname WHERE userid='$id'
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Ah, das ist 'ne gute Idee, danke.

                      Kommentar


                      • #12
                        Original geschrieben von jOhnny knOx
                        Ah, das ist 'ne gute Idee, danke.
                        kleiner tipp. das ganze stand schon in der ersten antwort von RobertTheHero ...

                        Original geschrieben von RobertTheHero
                        Da der Wert einer nichtgeklickten checkbox nicht übertragen wird,
                        kannst du entweder, alles das löschen was nicht übertragen wurde (musst also wissen welche checkboxen es gibt).
                        INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                        Kommentar

                        Lädt...
                        X