Ankündigung

Einklappen
Keine Ankündigung bisher.

Probleme mit Radiobuttons

Einklappen

Neue Werbung 2019

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

  • Probleme mit Radiobuttons

    Hallo zusammen!

    Ich hab eine Bildschirmausgabe von Datensätzen einer Datenbank.
    Wenn man nun einen davon anklickt, dann öffnet sich ein Formular (das gleiche mit dem die Datensätze erstellt wurden) und man kann die Einträge ändern.
    Soweit sogut, aber natürlich muss ich vorher die Daten die geändert werden aus der Datenbank holen und in die entsprechenden Felder einfügen.
    Das ist "eigentlich" ja nicht so schwer, bei Textfeldern gar kein Problem, bei Pulldownmenüs auch nicht, ABER: bei Radiobuttons

    Ich hab erst mal versucht, zu testen, was angeklickt wurde (steht ja in der Datenbank), zB bei Geschlecht entweder m oder w. Also hab ich eine if Abfrage geschrieben, in der bei m eine Variable namens $m_check den Wert "checked" bekommt, und bei m dasselbe mit einer Variablen namens $w_check passiert.
    Im Formular hab ich dann bei den Radiobuttons das checked mit der entsprechenden Variable gefüttert, die dann entweder leer sein müsste -> nicht gewählt, oder checked -> gewählt. Klingt ja eigentlich ganz korrekt, oder?
    Tja, nur gehen tut's leider nicht

    Kann mir da jemand helfen?
    Mein Code ist der:
    PHP-Code:
    <?php
        
    while($row mysql_fetch_assoc($result))
        {
            
    $m_check "";
            
    $w_check "";
            
            if((
    $row['GESCHLECHT']) == "m")
            {
                
    $m_check "checked";
            }
            else if((
    $row['GESCHLECHT']) == "w")
            {
                
    $w_check "checked";
            }

            
    // es folgt das Formular

    ?>                <td>

    Geschlecht</p></td>
                    <td><input type="radio" name="GESCHLECHT" value="m" maxlength="1" checked="<?=$m_check?>">m
                         <input type="radio" name="GESCHLECHT" value="w" maxlength="1" checked="<?=$w_check?>">w</td>


  • #2
    hab's nicht getestet aber 2 mal = ?????

    Kommentar


    • #3
      Lass dir $row['GESCHLECHT'] doch enifach mal ausgeben.. dann müsstest du ja sehen wo der Fehler liegt..

      Kommentar


      • #4
        Hab ich schon probiert

        $row['GESCHLECHT'] = das Geschlecht, entweder m oder w, je nach Datensatz,
        $m_check = entweder leer oder checked, je nach Datensatz, genauso wie $w_check

        @uti:

        Was bedeutet:
        hab's nicht getestet aber 2 mal = ?????
        ?

        Kommentar


        • #5
          Wie gesagt bin mir nicht sich aber du hast
          checked=
          und dann
          <? =$m_check?>

          das kenn ich halt nicht. 2 Mal das = Zeichen
          sieht halt falsch aus.
          Kann mich aber auch
          (wie üblich) irren. Könnte es mir dann evtl.
          jemand erklären ??

          schon mal mit echo innerhalb der
          <? ?> versucht.

          Kommentar


          • #6
            Du machst dir a bisserl zuviel Arbeit, denke ich (wenich Code=wenich Fehlerquellen). Die "Person" ist entweder männlich oder weiblich, also würde eine Variable (boolean) eigentlich reichen:

            PHP-Code:
            <?php

               
            while($row mysql_fetch_assoc($result))
               {

                  
            $isMale=false;

                  
            $isMale=($row['GESCHLECHT'])=="m") ? true false;
                  
             

            ?>

                 <td>

            Geschlecht</p></td>
                        <td><input type="radio" name="GESCHLECHT" value="m" <?=($isMale) ? 'checked="checked"':'' ?>">m
                            <input type="radio" name="GESCHLECHT" value="w" <?=(!$isMale) ? '' 'checked="checked"'?>">w</td>
            Klappt das so? Hab's nich getestet.

            edit: fehlte noch was ...
            ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

            Kommentar


            • #7
              Danke für die Antworten!

              Hab's jetzt so gelöst:
              PHP-Code:
              <?php
              <?=$m_check?>="checked">
              ?>
              --> keine Ahnung warum, aber man muss das mit dem checked umdrehen, dann klappt's auf einmal

              Bei dem Geschlecht ginge es auch anders, ja, aber ich lass es so.
              Hab noch einen Radiobutton, der hat 4 Einträge, das hab ich so gelöst

              PHP-Code:
              <?php
              switch($row['STAND'])
              {
              case 
              "l"$check_l "checked"; break;
              case 
              "v"$check_v "checked"; break;
              case 
              "g"$check_g "checked"; break;
              case 
              "w"$check_w "checked"; break;
              }
              ?>
              funktioniert einwandfrei!

              Kommentar


              • #8
                funktioniert einwandfrei!
                "Rein optisch" schon. Lass deinen Code mal durch'nen Validator laufen - "sollte" was anzumeckern haben ...
                ToolsTool - Online (SEO-)Tools im Browser gleichzeitig starten ...

                Kommentar

                Lädt...
                X