Checkbox Dynamisch erstellen aus eine mySQL Datenbank !?

BlueZone

Grünschnabel
Hallo @ll...

Ich habe folgendes Problem.
Ich solle aus eine Datenbank heraus Checkboxen erstellen. In der Datenbank steht nur DE;EN;FR momentan mache ich es folgendermassen.

PHP:
$dbHandle=new database("mysql",$GLOBALS['dbHost'],$GLOBALS['dbname'],$GLOBALS['dbUser'],$GLOBALS['dbpasswd']);
$dbHandle->query("SELECT * FROM md_admin_interface");
$dbResult=$dbHandle->get_row();

$arraySection = explode(";",$dbResult['lang']);
$lg = sizeof($arraySection);
for($i=0; $i<$lg; $i++){
echo "<input name='$arraySection[$i]' type='checkbox'>$arraySection[$i] ";
}

Das heisst das er mir Checkboxen erstellt mit dem Namen DE - EN und FR.
Sowit so gut. Alles kein Problem. Nun noch ich es per formular weiterleiten welche diese Checkboxen Aktiviert worden sind als 'Checked'

Folgenden Code habe ich gemacht um die Checkboxen auszuwerten:

PHP:
if($submit){
$dbHandle=new database("mysql",$GLOBALS['dbHost'],$GLOBALS['dbname'],$GLOBALS['dbUser'],$GLOBALS['dbpasswd']);
$dbHandle->query("SELECT * FROM md_admin_interface");
$dbResult=$dbHandle->get_row();
		
$arraySection = explode(";",$dbResult['lang']);
$lg = sizeof($arraySection);
for($i=0; $i<$lg; $i++){
$dummy = $arraySection[$i];
if(isset($_REQUEST[$arraySection[$i]]))
$dummyLang = $dummyLang & ";" & $arraySection[$i];
}
$_SESSION['SELECTEDLANG'] = $dummyLang; 
echo "<meta http-equiv='refresh' content='0;URL=$configRootSSL/admin/change.php?go=1'>";
}

Mein Problem ist nun das er in $dummyLang nichts speichet als wäre nichts ausgewählt. Wie kann ich es nun machen das er mir die Checkboxen mit dem wert 1 als Checked in meinem String speichert im Format xx;xx;xx ?

Danke für euere Hilfe !

Mike
 
Hehe, du kommst sicher von irgendeiner anderen Programmiersprache, wie VBA oder so?

Code:
$dummyLang = $dummyLang & ";" & $arraySection[$i];
muss
Code:
$dummyLang = $dummyLang . ";" . $arraySection[$i];
heissen.

Mit & verknuepfst du Bitweise AND... :)
 
Anstatt dem Metarefresh, der sich bekanntlich abschalten lässt, kann du das auch direkt per Header machen:

PHP:
//statt
//echo "<meta http-equiv='refresh' content='0;URL=$configRootSSL/admin/change.php?go=1'>"; 

header("$configRootSSL/admin/change.php?go=1");
exit;

Wichtig hierbei: Es dürfen vor dem header() Aufruf keine Daten gesendet worden sein, wie z.B. ein einfahces echo.
 
Re...

Hallo...

Danke erst mal für die Antworten.
Zur frage ja das kommt davon wenn man zu viele Programmiersprachen Programmiert. Bin normal .NET / C++ / C# / PHP Programmierer.
Und da sieht man manchmal den Wald vor lauter Bäumen nicht mehr.

Zur zweiten aussage.
Danke die Header Funktion genne ich gut. Manchmal kann man aber kein Header nehmen wenn wie gesgat voher irgendwelche daten gesendet werden !

:-`)
 
Hallo,

das Problem kenne ich gut...
Beim switchen zwischen C++ und PHP vertuhe ich mich auch häufig...

Naja

Gruß

Nephlim
 
Zurück