Ich habe ein Formular mit Kontrollkästchen, die verwendet werden, um Daten aus MySQL auszuwählen. Ich möchte auch, dass die Kontrollkästchen aktiviert bleiben, wenn der Benutzer dies getan hat. Zusätzlich dazu werden diese Checkboxen aus einer mysql select generiert. Jeder Benutzer verschiedene Kontrollkästchen hat auf der Grundlage ihrer Berechtigungsstufen usw.change checkbox checked via Session-Variable
Also habe ich diesen Code arbeiten:
<form method="post" id="someselect">
<?php
function checked() {
if (in_array("somestring", $_SESSION['specificvalue'])) {
return "checked";
};
}
$i = 0;
while ($row = $result->fetch_assoc()) {
echo "<input id='specificvalue' type='checkbox' " . checked() . " name='specificvalue[]' value='" . $row['specificvalue'] . "'>" . $row['longvalue'] . "<br>";
};
mysqli_close($con);
//$_SESSION['specificvalue']=implode("','",$specificvalue);
$_SESSION['specificvalue'] = $specificvalue;
?>
<input type="submit" value="Submit">
</p>
</form>
Es funktioniert, erzeugt spezifische Kontrollkästchen Benutzer und die function checked()
arbeitet auch mit dem exeption that
statt in_array("somestring", $_SESSION['subunit'])
, würde ich gerne verwenden in_array($row['subunit'], $_SESSION['subunit'])
, die einfach nicht funktioniert. Ich bin zu noob, um zu verstehen, warum oder eine bessere Lösung zu finden. Der Punkt davon wäre, eine Checkbox-Liste zu erzeugen und bereits die Kästchen zu überprüfen, die zuvor in der Sitzungsvariablen gespeichert wurden.
Im Moment mit diesem Arbeitscode. Wenn ich die Liste der Kontrollkästchen habe und ich das Kästchen mit specificvalue
"somestring" ankreuze, werden alle Kontrollkästchen aktiviert, wenn das Kontrollkästchen Formular generiert wird.
Ich denke, ich wäre in der Lage, jquery dafür zu verwenden, aber Google gibt mir verschiedene Arten von Lösungen, die nicht in meinem verwendet werden können. Ich kann die Checkboxen auch nicht manuell schreiben, weil es insgesamt 70 von ihnen gibt und sie variieren in der Zeit. Ich möchte sie autopopulated erhalten, wenn die mysql Datenbank aktualisiert wird.
Nr. Es gibt eine Menge von Includes, die in dieser Frage nicht enthalten sind. Die Sitzung und alle Variablen funktionieren gut. die einzige Frage ist, wie die checked-Werte korrekt über jede Checkbox-Zeile mit while-Schleife – Gusmar
Sitzung wurde bereits gestartet – Gusmar
fast, anstelle von checked = 'überprüft' ich nur überprüft. Es scheint zu funktionieren, aber nicht genau alle überprüften Kästchen – Gusmar