0 oder 1

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

  • 0 oder 1

    Servus Jungs,

    bin grade an einer rechte vergebe dazu ich mysql mit 0 oder 1: MySQL Struktur:

    Code:
    CREATE TABLE `mega_users_access` (
      `groupID` int(11) NOT NULL auto_increment,
      `users_read` enum('1','0') collate latin1_general_ci NOT NULL default '0',
      `users_add` tinyint(1) NOT NULL,
      PRIMARY KEY  (`groupID`)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=2 ;
    so als html datei habe ich checkboxen so in etwa:

    Code:
    <input type="checkbox" name="users_read" value="1"  >[users_read]<br> 
         		<input type="checkbox" name="users_add"  value="1"  >[users_add]<br> 
         		<input type="checkbox" name="users_edit" value="1"  >[users_edit]<br>
    so mein Problem ist jetzt wenn ich etwas ankreuze schickt er 1, aber was mache ich wenn ich das nicht angekreuzt habe ? Er soll dann 0 eintragen wie geht das ?

  • #2
    Re: 0 oder 1

    Original geschrieben von meGa
    aber was mache ich wenn ich das nicht angekreuzt habe ?
    Dann wird für die Checkbox überhaupt kein Wert übermittelt.
    Er soll dann 0 eintragen wie geht das ?
    Du ziehst aus der Tatsache, dass überhaupt kein Wert übermittelt wurde, den logisch richtigen Schluss.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Ok dann muss ich eine PHP Abfrage machen oder. Wie könnte so eine aussehen am besten eine schleife.

      Kommentar


      • #4
        Zeig einen Ansatz vor, dann findet sich sicher jemand, der ihn bewertet und dir bei Problemen weiterhilft.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          so vielleicht

          PHP-Code:
          foreach($_POST as $value)
          {
          if(!isset(
          $value$value=0;

          so vielleicht ?

          Kommentar


          • #6
            wohl eher nicht, da du noch nicht einmal weisst, was du geliefert bekommst ...
            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


            • #7
              Was macht isset?
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #8
                Also wenn ich es nicht anklicke bekomme ich doch nichts geliefert deswegen isset ?

                Kommentar


                • #9
                  Wenn der Wert nicht übergeben wird, wird er auch nicht im $_POST-Array vorhanden sein. Mit deiner Schleife durchläufst du aber den $_POST-Array. Klingelts?

                  Kommentar


                  • #10
                    Mhh stimmt. Könnt ihr mir jetzt helfen ?

                    Kommentar


                    • #11
                      Setz den default Wert des Feldes in der DB auf 0 und "beschreibe" einfach nur die Felder die du übergeben bekommst.

                      Wenn du eine neue Zeile in eine DB-Tabelle einfügst und Werte leer lässt, wird ihnen ihr Standardwert (default-value) zugeordnet - ist kein Standardwert vorhanden wird null gesetzt. Wenn das Feld als "not null" markiert ist, gibt es dann einen Fehler.

                      Kommentar


                      • #12
                        PHP-Code:
                        $boxen=array("users_read","users_add","users_edit");
                        foreach(
                        $boxen as $wert){
                        if(!isset(
                        $_POST[$wert]))$Ergebnis[$wert]=0;
                        $Ergebnis[$wert]=1;
                        }
                        etwa so
                        insert into 
                        ...... values
                        ('$Ergebnis[users_read],$Ergebnis[users_add],...)

                        oder einfach 
                        $users_read=isset($_POST['
                        users_read'])?$_POST['users_read']:0;
                        .. 
                        Zuletzt geändert von Slava; 15.09.2006, 18:30.
                        Slava
                        bituniverse.com

                        Kommentar


                        • #13
                          Also meine Striktur ist im Moment so, so geht es auch aber es wird kein e null gesetzt sondenr garnichts:

                          PHP-Code:
                          s
                          -- Tabellenstruktur für Tabelle `mega_users_access`
                          -- 

                          CREATE TABLE `mega_users_access` (
                            `
                          groupIDint(11NOT NULL auto_increment,
                            `
                          users_readenum('1','0'collate latin1_general_ci NOT NULL default '0',
                            `
                          users_addenum('1','0'collate latin1_general_ci NOT NULL default '0',
                            
                          PRIMARY KEY  (`groupID`)
                          ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=

                          Kommentar

                          Lädt...
                          X