Sers, hier mal ein Bild:
Hier mein Code:
Das ganze listet aus einer Tabelle alles aus, dann kann ich das direkt verändern und beim drücken des Buttons updaten. Alles funktioniert außer, dass wenn ich n häckchen bei einer Checkbox setze, dieses sich immer so weit nach oben wie möglich bewegt. Wenn das 1. also gechecked ist und ich z.b. beim letzten n Häckchen mache, update, dann hat das 1. und 2. dann n Häckchen... warum verflucht springt das Teil immer hoch?
Hoffe jemand kann mir ein Tipp geben, danke.
Lg
EDIT: Wenn ich ganz normal Inserte (daher hat die Tabelle ja auch die Inhalte) dann wird die Checkbox richtig angezeigt, der Fehler liegt hier also im Code... das Updated falsch aber sieht eigentlich genau so aus wie die anderen Inhalte der Spalten... wo schleicht sich da der Fehler rum oder bin ich grade echt zu blöd?
Hier mein Code:
PHP Code:
<?php
$sql_select = $db->query("SELECT * FROM mybb_ugann");
if(!(mysqli_num_rows($sql_select) == 0)) {
echo '<form method="post" action="ug_ann.php">';
while ($row = mysqli_fetch_array( $sql_select, MYSQL_ASSOC)) {
$id = $row['ID'];
$icon = $row['Icon'];
$msg = $row['Message'];
$ugids = $row['Usergroups'];
$show = $row['ShowMessage'];
echo '<input type="hidden" name="ann_id[]" value="'.$id.'" />';
echo '<tr>';
echo '<td class="trow1_ctm"><img src="'.$icon.'" /></td>';
echo '<td class="trow1_ctm"><input type="text" value="'.$icon.'" name="ann_icon[]" /></td>';
echo '<td class="trow1_ctm"><input type="text" value="'.$msg.'" name="ann_msg[]" style="width: 100%" /></td>';
echo '<td class="trow1_ctm"><input type="text" value="'.$ugids.'" name="ann_grpids[]" style="width: 80px;" /></td>';
if($show == 1) {
echo '<td class="trow1_ctm" style="text-align: center;"><input type="checkbox" name="ann_show[]" checked /></td>';
} else { echo '<td class="trow1_ctm" style="text-align: center;"><input type="checkbox" name="ann_show[]" /></td>'; }
echo'</tr>';
}
echo '<tr><td class="trow1" colspan="5"><input type="submit" value="Aktualisieren" name="ann_edit" /></td></tr>';
echo "</form>";
if(isset($_POST['ann_edit'])) {
for($i = 0; $i < $id; $i++) {
if(!($_POST['ann_icon'][$i] == "") AND !($_POST['ann_msg'][$i] == "") AND !($_POST['ann_grpids'][$i] == "")) {
$id_n = $_POST['ann_id'][$i];
$icon_n = $_POST['ann_icon'][$i];
$msg_n = $_POST['ann_msg'][$i];
$grpids_n = $_POST['ann_grpids'][$i];
$showmsg_n = $_POST['ann_show'][$i];
if(isset($showmsg_n)) { $doShow = 1; } else { $doShow = 0; }
echo $doShow;
$sql_update = $db->query('UPDATE mybb_ugann SET Icon = "'.$icon_n.'", Message = "'.$msg_n.'", Usergroups = "'.$grpids_n.'", ShowMessage = "'.$doShow.'" WHERE ID = "'.$id_n.'"');
if($sql_update) {
} else { echo "geht nicht"; }
}
}
}
} else {
echo '<tr>';
echo '<td class="trow1" colspan="4" style="text-align: center;">Keine Ankündigungen vorhanden!</td>';
echo '</tr>';
}
?>
Hoffe jemand kann mir ein Tipp geben, danke.
Lg
EDIT: Wenn ich ganz normal Inserte (daher hat die Tabelle ja auch die Inhalte) dann wird die Checkbox richtig angezeigt, der Fehler liegt hier also im Code... das Updated falsch aber sieht eigentlich genau so aus wie die anderen Inhalte der Spalten... wo schleicht sich da der Fehler rum oder bin ich grade echt zu blöd?