Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > Web Development
You last visited: Today at 09:11

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Dropdown oder Radio Button für Geschlecht

Discussion on Dropdown oder Radio Button für Geschlecht within the Web Development forum part of the Coders Den category.

Reply
 
Old   #1

 
{Skrillex}'s Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 850
Received Thanks: 408
Dropdown oder Radio Button für Geschlecht

Hi,
ich möchte gerne für meine Seite ein Dropdown menü oder 3 Radio Button für das Geschlecht machen. Zugleich möchte ich aber auch, dass wenn bereits inhalt in der datenbank ist, dass dann das richtige Geschlecht wirklich angezeigt wird.

Bisher habe ich es folgendermaßen gelöst:


PHP Code:
function getCustomerSex() {
    
$user_infos ORM::for_table('accounts')->where('Kundennummer'$_SESSION["login_user"])->find_one();
    
$Geschlecht $user_infos->Geschlecht;
    if(
$Geschlecht == 0){
        echo
'<select name="sex" class="form-control">
        <option value="0">keine Angabe</option>
        <option value="1">Männlich</option>
        <option value="2">Weiblich</option>
        <option value="3">Divers</option>
       </select>'
;
      
    }
    else if(
$Geschlecht == 1){
        echo
'<select name="sex" class="form-control">
        <option value="1">Männlich</option>
        <option value="2">Weiblich</option>
        <option value="3">Divers</option>
        <option value="0">keine Angabe</option>
       </select>'
;
   
    }
    else if(
$Geschlecht == 2){
        echo
'<select name="sex" class="form-control">
        <option value="2">Weiblich</option>
        <option value="3">Divers</option>
        <option value="0">keine Angabe</option>
        <option value="1">Männlich</option>
       </select>'
;
    }
    else if(
$Geschlecht == 3){
        echo
'<select name="sex" class="form-control">
        <option value="3">Divers</option>
        <option value="0">keine Angabe</option>
        <option value="1">Männlich</option>
        <option value="2">Weiblich</option>
       </select>'
;
    }   

Ich persönlich glaube aber, dass man diesen code massiv einkürzen kann.

Eventuell weiß ja einer wie man das am besten umsetzen kann.

Vielen dank und Lieben Gruß
{Skrillex} is offline  
Old 04/22/2020, 12:46   #2


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Du brauchst nur einmal das echo im Code, dann musst du nur bei der richtigen Option das Attribute selected dranhängen.
False is offline  
Thanks
1 User
Old 04/25/2020, 09:36   #3
 
Legithos's Avatar
 
elite*gold: 95
Join Date: Nov 2009
Posts: 669
Received Thanks: 47
Quote:
Originally Posted by {Skrillex} View Post
PHP Code:
function getCustomerSex() {
    
$user_infos ORM::for_table('accounts')->where('Kundennummer'$_SESSION["login_user"])->find_one();
    
$Geschlecht $user_infos->Geschlecht;
    if(
$Geschlecht == 0){
        echo
'<select name="sex" class="form-control">
        <option value="0">keine Angabe</option>
        <option value="1">Männlich</option>
        <option value="2">Weiblich</option>
        <option value="3">Divers</option>
       </select>'
;
      
    }
    else if(
$Geschlecht == 1){
        echo
'<select name="sex" class="form-control">
        <option value="1">Männlich</option>
        <option value="2">Weiblich</option>
        <option value="3">Divers</option>
        <option value="0">keine Angabe</option>
       </select>'
;
   
    }
    else if(
$Geschlecht == 2){
        echo
'<select name="sex" class="form-control">
        <option value="2">Weiblich</option>
        <option value="3">Divers</option>
        <option value="0">keine Angabe</option>
        <option value="1">Männlich</option>
       </select>'
;
    }
    else if(
$Geschlecht == 3){
        echo
'<select name="sex" class="form-control">
        <option value="3">Divers</option>
        <option value="0">keine Angabe</option>
        <option value="1">Männlich</option>
        <option value="2">Weiblich</option>
       </select>'
;
    }   

Die Lösung hast du von False ja schon bekommen. Was ich dir noch bezüglich deinen Variablen hinsichtlich der Übersichtlichkeit raten würde, wäre die Variablen in englischer Sprache zu halten ($Geschlecht -> $gender) und klein zu schreiben. Recht viel kürzen würde ich meiner Meinung nach bei dem Code nicht, letztendlich bleibt es gleich, ob du die IF-Abfrage über das komplette SELECT oder in den einzelnen OPTIONS machst. Je nachdem, ob der Benutzer gezwungen ist ein Geschlecht zu wählen könntest du auch noch eine zusätzliche Option mit dem Attribut disabled "Bitte wählen..." hinzufügen, dieses selected machen und das SELECT mit required versehen.

EDIT: Ich revidiere, es geht kürzer! Wenn du deine Options als Datenbankeintrag machst und die dann für das SELECT rausholst. Kannst mir gerne eine PN schreiben wenn du nicht weiter weißt
Legithos is offline  
Old 04/25/2020, 10:40   #4


 
False's Avatar
 
elite*gold: 0
The Black Market: 243/0/0
Join Date: Apr 2011
Posts: 11,115
Received Thanks: 2,436
Quote:
Originally Posted by Legithos View Post
Recht viel kürzen würde ich meiner Meinung nach bei dem Code nicht, letztendlich bleibt es gleich, ob du die IF-Abfrage über das komplette SELECT oder in den einzelnen OPTIONS machst.
Das würde ich so nicht sagen, aus den 38 Zeilen kann man schnell 18 machen.
Wenn man will könnte noch mehr kürzen, aber ich wollte dir nur ein Beispiel liefern das es sehr wohl viel ausmacht (mehr als die Hälfte weniger).

PHP Code:
function getCustomerSex()
{
    
$userInfo ORM::for_table('accounts')->where('customerNumber'$_SESSION["user"])->find_one();
    
$gender $userInfo->gender;

    
$unselected $gender === ' selected' '';
    
$male $gender === ' selected' '';
    
$female $gender === ' selected' '';
    
$diverse $gender === ' selected' '';
    return 
printf('
        <select name="sex" class="form-control">
            <option value="0"%s>keine Angabe</option>
            <option value="1"%s>Männlich</option>
            <option value="2"%s>Weiblich</option>
            <option value="3"%s>Divers</option>
        </select>'
$unselected$male$female$diverse);

False is offline  
Old 04/27/2020, 11:52   #5

 
{Skrillex}'s Avatar
 
elite*gold: 0
Join Date: Mar 2013
Posts: 850
Received Thanks: 408
Danke für eure Antworten. Ich habe jetzt doch radio Button genutzt. Ich habe sowieso meinen kompletten code überarbeitet. Ich nutze nurnoch englische variablen etc.

Mein code: mit twig + php programmiert:

PHP Code:
<div class="form-group">
            <
label for="sex" class=" form-control-label">Geschlecht</label><br>
            <
table>
            <
td><input type="radio" {% if sex == %} checked {% endif %} name ="sex"  value="1">
            <
label style="margin-right: 10 " for="male">Männlich</label></td>
            <
td><input type="radio" {% if sex == %} checked {% endif %} name ="sex"  value="2">
            <
label style="margin-right: 10 " for="female">Weiblich</label></td>
            <
td><input type="radio"{% if sex == %} checked {% endif %} name ="sex"  value="3">
            <
label style="margin-right: 10 " for="diverse">Divers</label></td>
            <
td><input type="radio" {% if sex == %} checked {% endif %} name ="sex"  value="0">
            <
label style="margin-right: 10 " for="nothing">keine Angabe</label></td>
            </
table>
        
      </
div
{Skrillex} is offline  
Old 04/27/2020, 16:48   #6
 
lnqlorlouz's Avatar
 
elite*gold: 0
Join Date: Jun 2013
Posts: 405
Received Thanks: 84
Quote:
Originally Posted by {Skrillex} View Post
Danke für eure Antworten. Ich habe jetzt doch radio Button genutzt. Ich habe sowieso meinen kompletten code überarbeitet. Ich nutze nurnoch englische variablen etc.

Mein code: mit twig + php programmiert:

PHP Code:
<div class="form-group">
            <
label for="sex" class=" form-control-label">Geschlecht</label><br>
            <
table>
            <
td><input type="radio" {% if sex == %} checked {% endif %} name ="sex"  value="1">
            <
label style="margin-right: 10 " for="male">Männlich</label></td>
            <
td><input type="radio" {% if sex == %} checked {% endif %} name ="sex"  value="2">
            <
label style="margin-right: 10 " for="female">Weiblich</label></td>
            <
td><input type="radio"{% if sex == %} checked {% endif %} name ="sex"  value="3">
            <
label style="margin-right: 10 " for="diverse">Divers</label></td>
            <
td><input type="radio" {% if sex == %} checked {% endif %} name ="sex"  value="0">
            <
label style="margin-right: 10 " for="nothing">keine Angabe</label></td>
            </
table>
        
      </
div
Ich würde nicht mehr zu Tabellen-Layouts tendieren.
Und das for="sex" in deinem Label-Element bezieht sich immer auf eine Id, nicht auf den name="sex". Da fehlen eigentlich noch Id's. ()
Und bei deinem Inline-Style margin-right: 10, fehlt eine Einheit (px, vh, vw, em, rem...)
lnqlorlouz is offline  
Thanks
2 Users
Reply


Similar Threads Similar Threads
Radio Elite Plus - Mehr als 350 Radio Sender aus aller Welt! Für PC, Smartphone & TV!
02/21/2016 - elite*gold Trading - 42 Replies
http://i.imgur.com/nqLUuza.png Radio Elite Plus Zuletzt aktualisiert am 15.11.2015 Letztes Server Update (Datenbank) am 16.11.2015 Dir ist langweilig? Du hast nichts zu tun oder brauchst Motivation? Suchst nach neuen Liedern oder willst einfach mal entspannen und dich zurücklehnen? Mit dem Radio Elite Plus ist das alles möglich und viel mehr! Mit dem Radio Elite Plus kannst du Sender aus aller Welt empfangen und hören in bester Qualität.* Auch ist es dir möglich deine eigenen Radio...
[B] Push Button [S] 10 e*gold/Button; 25 e*g/psd+Button
09/20/2013 - elite*gold Trading - 4 Replies
Moin, Hier könnt ihr folgenden Push Button kaufen: http://i.epvpimg.com/YlrYe.jpg Pro Button wären das 10e*g, pro Button mit .psd dazu 25e*g. Wenn ihr einen Button kaufen wollt, schreibt mir eine PN, damit ich den Namen ändern kann, alles hochladen kann und euch dann per Treasure schicken kann. ;) Schrift kann auch geändert werden. Dazu einfach in der PN schreiben, welche Schrift ihr haben wollt^^
Listen2myradio[Auf Radio.fx oder normales Radio]?
05/21/2011 - Main - 2 Replies
Hey leute Ich hab mir ne woche zeit genommen um mal meinen eigenen Radiosender zu machen. Jetzt gibt es nur mehr eine Frage wie kann ich es auf ein Normales bzw. auf Radio.fx abspielen. Wers sich anhören mag hier ist der Link: Listen2myradio.com - Get your own FREE online radio! Pls help!



All times are GMT +2. The time now is 09:13.


Powered by vBulletin®
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2026 elitepvpers All Rights Reserved.