PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : verbesserung


joker
15.11.2004, 00:05:32
hallo, aus einem formular hohle ich 3 werte raus, die dann als string in die db sollen, geht auch alles wunderbar, aber meine lösung um die 3 werte mit einem kommer hintereinander zu schreiben find ich irgendwie nicht gut

problem, bei der sache ist das es auch nur 2 werte sein können wobei ja nach dem 2ten wert kein komma gebraucht wird

so hab ich das gelöst mit den kommern:

if ( !$_POST['function1'] == '' ) {
if ( $_POST['function2'] == '' ) {
$function = $_POST['function1'];
} else {
if ( $_POST['function3'] == '' ) {
$function = "".$_POST['function1'].", ".$_POST['function2']."";
} else {
$function = "".$_POST['function1'].", ".$_POST['function2'].", ".$_POST['function3']."";
}
}
}


aber bei der lösung trit ein anderes problem auf, was ist wenn nur wert 1 und 3 übergeben wurde und der 2te leer ist`, dan wird bei meiner lösung nur der erste wert eingetragen.

hoffe ihr versteht was ich mein und kennt eine bessere lösung dafür...

feuervogel
15.11.2004, 00:53:16
1. heißt es komma und kommata

2. warum so umständlich?


if( empty( $_POST[ 'function1' ] ) )
$function = "{$_POST[ 'function2' ]}, {$_POST[ 'function3' ]}";
elseif( empty( $_POST[ 'function2' ] ) )
$function = "{$_POST[ 'function1' ]}, {$_POST[ 'function3' ]}";
elseif( empty( $_POST[ 'function3' ] ) )
$function = "{$_POST[ 'function1' ]}, {$_POST[ 'function2' ]}";
else
$function = "{$_POST[ 'function1' ]}, {$_POST[ 'function2' ]}, {$_POST[ 'function3' ]}";


natürlich müssen die überflüssigen leerzeilen weg.