Enum Werte in Formular laden und verändern

<?php echo $bettw ?> zeigt den gespeicherten wert .....y

ich hab das jetzt so umgeändert was immer noch nicht t :-)

PHP:
<select name="<? echo $bettw ?>" type="text" >
<option input id="bettw"  name="bettw" type="text" size="1"  value="<?php echo $bettw =="y" ?>" >y</option>
<option input id="bettw"  name="bettw" type="text" size="1" value=<?php echo $bettw =="n"?>>n</option>

</select></td>


Hallo,
danke für die schnelle Reaktion aber das hat auch nicht geholfen :-)
Es wird ja ein 'y 'oder 'n'
gruss
 
Was hat auch nicht geholfen Ó.ò , ich hab doch noch garnichts geschrieben. Ich wollte nur wissen was $bettw für einen Wert hat.
Wenn $bettw also den Wert "y" oder "n" hat müsstest das ganze ein bisschen anders aufbauen.
z.B.
PHP:
if($bettw == "y")
{
      echo '<input type="checkbox" name="ynwert" checked>';
}
else
{
      echo '<input type="checkbox" name="ynwert">';
}
da wo das ganze dann als POST ankommt:
PHP:
if(!$_POST['ynwert'])
{
     $ynwert = "n";
}
else
{
     $ynwert = "y";
}
// $ynwert dann in die DB
edit: Ist nicht optimal, klappt aber >.< geht ja nur ums Prinzip.

als select:
PHP:
echo '<select name="ynwert">';

if($bettw == "y")
{
      echo '<option value="y" selected>y</option>';
	  echo '<option value="n">n</option>';
}
else
{
      echo '<option value="y">y</option>';
	  echo '<option value="n" selected>n</option>';
}
echo '</select>';
PHP:
$ynwert = $_POST['ynwert'];

// $ynwert dann in die DB
 
Zuletzt bearbeitet:
Irgendwie find ich den ganzen Thread albern.
Wieso sollte man für ein einfaches Boolean Feld nen enum nehmen? entweder ja oder nein, true or false, 1 oder 0.
Sowas kann man ganz einfach an nen Select Feld übergeben und das jedenfalls nicht so wie da oben steht, da rate ich dazu sich erstmal grundlegend mit Formularen in HTML zu beschäftigen, denn das funktioniert schon rein vom HTML her nicht was da steht.

Da fehlen einfach die Grundlagen und ohne das jetzt fertig zu scripten, gibts hier auch keine Lösung, da fehlt mmn das Verständnis des ThreadErstellers, sowohl technisch als auch vom Umgang her.

Funktionieren würde:
1. die Tabelle ändern (das Feld in der Tabelle als int)
2. das ganze auslesen (sollte ja nur 0 oder 1 drin stehen)
3. select füllen das SELECT ! bekommt den namen des feldes in der DB und die options als Value den Wert, also 0 oder 1
4 das ganze wenn geändert wieder in die Tabelle schreiben

um die programmtechnische Umsetzung kümmerts euch bitte selber

Mfg
 
es bleibt immer checked

Was hat auch nicht geholfen Ó.ò , ich hab doch noch garnichts geschrieben. Ich wollte nur wissen was $bettw für einen Wert hat.
Wenn $bettw also den Wert "y" oder "n" hat müsstest das ganze ein bisschen anders aufbauen.
z.B.
PHP:
if($bettw == "y")
{
      echo '<input type="checkbox" name="ynwert" value="cb" checked>';
}
else
{
      echo '<input type="checkbox" name="ynwert" value="cb">';
}
da wo das ganze dann als POST ankommt:
PHP:
if(!$_POST['ynwert'])
{
     $ynwert = "n";
}
else
{
     $ynwert = "y";
}
// $ynwert dann in die DB
edit: Ist nicht optimal, klappt aber >.< geht ja nur ums Prinzip.
 
Ich würde das ganze auch so aufbauen wie Phil eben beschrieben hat. Das ist auch der Grund warum ich mit ENUM nie was zutun hatte ^^.
Das select was ich gepostet habe sollte dir aber trotzdem weiterhelfen.
Warum deine Checkboxes immer gechecked bleiben kann ich mit nicht erklären, habs local ausprobiert.
 
warum man enum nimmt müsst man Dir eigentlich nicht erklären weil eventuell mehr Werte stehen würden z.B ja nein vielleicht. Die Formularen funktionieren ja einwanfrei ....abgesehen davon es heisst hier Tutorial oder irre ich mich ?
Wenn es Dir zu blöd ist Dich damit zu beschäftigen dann lass es einfach...


Irgendwie find ich den ganzen Thread albern.
Wieso sollte man für ein einfaches Boolean Feld nen enum nehmen? entweder ja oder nein, true or false, 1 oder 0.
Sowas kann man ganz einfach an nen Select Feld übergeben und das jedenfalls nicht so wie da oben steht, da rate ich dazu sich erstmal grundlegend mit Formularen in HTML zu beschäftigen, denn das funktioniert schon rein vom HTML her nicht was da steht.

Da fehlen einfach die Grundlagen und ohne das jetzt fertig zu scripten, gibts hier auch keine Lösung, da fehlt mmn das Verständnis des ThreadErstellers, sowohl technisch als auch vom Umgang her.

Funktionieren würde:
1. die Tabelle ändern (das Feld in der Tabelle als int)
2. das ganze auslesen (sollte ja nur 0 oder 1 drin stehen)
3. select füllen das SELECT ! bekommt den namen des feldes in der DB und die options als Value den Wert, also 0 oder 1
4 das ganze wenn geändert wieder in die Tabelle schreiben

um die programmtechnische Umsetzung kümmerts euch bitte selber

Mfg
 
Morgen,

mir ist es nicht zu blöd mich damit zu beschäftigen, nur zu blöd mich mit was zu beschäftigen, wenn der Fragende überhaupt nicht drauf ein geht und selber doppel-dreifach-vierfach Posts in nen Thread packt, ohne Rücksicht darauf zu nehmen was ihm andere raten oder das es die ganze Sache lesbarer macht.

im übrigen, wenn du auf enum bestehst, musst du das result des Feldes, welches ein enum darstellt, zerlegen wie ich es in meinem ersten Post geschrieben habe (worauf du im übrigen auch gar nicht eingegangen bist. Würdest du das zerlegen, bekommst du ein array, oder ähnliches mit deinen enums, mit dem du wiederrum dein select füllen könntest.

Ich wüßte auch nicht warum ich darauf noch näher eingehen sollte, es steht ja schon alles im Thread.

btw. heißt Tutorial nicht "ich stell ne Aufgabe und lass es wen anderes programmieren", ein Tutorial ist eine Anleitung und die haben wir dir gegeben, umsetzen musst du das ganze schon selber, oder wenigstens genau fragen wo es hapert. Was du tust ist codeschnipsel aus codeschnipseln ziehen und sagen das es nicht funktioniert.

MfG
 
Morgen, Ich kann auf einen Thema eingehen wenn ich darüber bescheid weiss...wie auch immer eins muss ich Dir lassen ...Dein Ansatz ist richtig musste ich festellen :-)auch wenn ich es nicht hinkriege...


Morgen,

mir ist es nicht zu blöd mich damit zu beschäftigen, nur zu blöd mich mit was zu beschäftigen, wenn der Fragende überhaupt nicht drauf ein geht und selber doppel-dreifach-vierfach Posts in nen Thread packt, ohne Rücksicht darauf zu nehmen was ihm andere raten oder das es die ganze Sache lesbarer macht.

im übrigen, wenn du auf enum bestehst, musst du das result des Feldes, welches ein enum darstellt, zerlegen wie ich es in meinem ersten Post geschrieben habe (worauf du im übrigen auch gar nicht eingegangen bist. Würdest du das zerlegen, bekommst du ein array, oder ähnliches mit deinen enums, mit dem du wiederrum dein select füllen könntest.

Ich wüßte auch nicht warum ich darauf noch näher eingehen sollte, es steht ja schon alles im Thread.

btw. heißt Tutorial nicht "ich stell ne Aufgabe und lass es wen anderes programmieren", ein Tutorial ist eine Anleitung und die haben wir dir gegeben, umsetzen musst du das ganze schon selber, oder wenigstens genau fragen wo es hapert. Was du tust ist codeschnipsel aus codeschnipseln ziehen und sagen das es nicht funktioniert.

MfG
 
wenn du Probleme bei der Umsetzung hast, wärs ja mal interessant zu sehen was du bis jetzt hast, dann kann man nämlich auch sagen wo es klemmt und nur dann.

also Script posten und andere was zusagen lassen, im blauen raten bringts irgendwie nicht.

Grüße
 
Hi Phil
also ich kann mal sagen wie weit ich experimentiert habe:


PHP:
$query = "SHOW COLUMNS FROM tabelle LIKE 'bettw'";
$erg=mysql_query($query);
$row2=mysql_fetch_row($erg);

$werte=explode("','",preg_replace("/(enum|set)\('(.+?)'\)/","\\2",$row2[1]));
echo "<pre>";
print_r($werte); 
echo "$werte[0]";
echo "$werte[1]";


Das ergebnis ist

Array
(
[0] => y
[1] => n
)
yn

ich denke das ist schon mal der richtige ansatz wenn die Werte gelesen werden :-)

Ich gehe jetzt davon aus daß ich in mein selcect als value="$wert[0] oder value="$wert[1] angeben soll das ist was Du meintest ..!! und da habe ich meine Probleme..



wenn du Probleme bei der Umsetzung hast, wärs ja mal interessant zu sehen was du bis jetzt hast, dann kann man nämlich auch sagen wo es klemmt und nur dann.

also Script posten und andere was zusagen lassen, im blauen raten bringts irgendwie nicht.

Grüße
 
Zurück