Hallo Leute
Ich bin gerade dabei ein kleines CMS zu erstellen.
Dabei ist ein Problem aufgetaucht, was ich hier im Forum noch nicht gefunden habe.
Ich habe ein Formular mit Checkboxen. Die werden als String ( mit implode) in einer Datenbank gespeichert. Soweit sogut. Jetzt möchte ich aber, dass, wenn man den datensatz "updaten" will, die Checkboxen dessen werte gesetzt waren, wieder als "checked" gekennzeichnet werden, damit mann nicht alle Checkboxen neu auswählen muss.
Dazu muss aber noch erwähnt werden, dass die Checkboxen auch aus einer dB dyn. erstellt werden.
Hier ein Auszug aus dem Quelltext
Leider funzt das gar nicht. Es werden nur alle Checkboxen so oft angezeigt wie Anzahl der Array-Werte vorliegen.
Hat nicht jemand eine Idee wie man das umsetzen kann. Ich hab jetzt schon seit 2 tagen daran herumgedoktert, das ich jetzt garnichts mehr hinbekomme ( kennt bestimmt mancher von Euch)
erst mal dank im vorraus
lorenz
Ich bin gerade dabei ein kleines CMS zu erstellen.
Dabei ist ein Problem aufgetaucht, was ich hier im Forum noch nicht gefunden habe.
Ich habe ein Formular mit Checkboxen. Die werden als String ( mit implode) in einer Datenbank gespeichert. Soweit sogut. Jetzt möchte ich aber, dass, wenn man den datensatz "updaten" will, die Checkboxen dessen werte gesetzt waren, wieder als "checked" gekennzeichnet werden, damit mann nicht alle Checkboxen neu auswählen muss.
Dazu muss aber noch erwähnt werden, dass die Checkboxen auch aus einer dB dyn. erstellt werden.
Hier ein Auszug aus dem Quelltext
PHP-Code:
<?php
// der Datensatz $zweck wird in ein Array gwandelt
$array1 = explode (' ',$zweck);
// Anzahl der Arryeinträge ermitteln
$anzahl = count($array1);
// DB abfrage um alle Checkboxen aufzulisten
$sql2="SELECT * FROM m_zweck WHERE uid='1' ";
$result2=mysql_query($sql2);
if (mysql_Num_Rows($result2) > 0 ) {
while ($row2 = mysql_fetch_array ($result2)) {
// Hier nun der versuch den Checkboxen "checked" zuzuweisen deren ID im $array1 vorkommen
for ($i = 0; $i < $anzahl; $i++) {
if ($row[id] == $array1[$i]){
echo "<tr><td width=\"15\"><input type=\"checkbox\" name=\"zweck[]\" value=\"$row2[id]\" checked>
</td><td>$row2[zweck_de]</td></tr>";
} else {
echo "<tr><td width=\"15\"><input type=\"checkbox\" name=\"zweck[]\" value=\"$row2[id]\">
</td><td>$row2[zweck_de]</td></tr>";
}
}
}
}
else
{
echo "<tr><td colspan=\"2\">Es sind keine Einträge in der DB vorhanden</td></tr>";
}
mysql_free_result ($result);
?>
Hat nicht jemand eine Idee wie man das umsetzen kann. Ich hab jetzt schon seit 2 tagen daran herumgedoktert, das ich jetzt garnichts mehr hinbekomme ( kennt bestimmt mancher von Euch)
erst mal dank im vorraus
lorenz
Kommentar