Checkboxen in Datenbank Speichern - Tutorial?

Aah.. ich habe da auch irgendwas durcheinander gebracht! Hier mal etwas abstrahierter...

PHP:
<?php

// ...

// Auslesen aller Magazine...
$magazine = array();
$stmt = mysql_query("SELECT * FROM magazine");
while ($row = mysql_fetch_object($stmt)) {
  $magazine[] = $row;
}

// Auslesen der Adressen
$stmt = mysql_query("SELECT * FROM adressen");
while ($row = mysql_fetch_object($stmt)) {
  ...
  $array = explode(',', $row->magazine);

  // Ausgabe der Checkboxen mit Überprüfung
  foreach ($magazine as $mag):
?>

<!-- eventuell andere Daten ausgeben -->
<input type="checkbox" name="magazin_checkbox[]" value="<?php echo $mag->name; ?>" <?php if (in_array($mag->name, $array)) echo "checked=\"checked\""; ?>/>
<?php echo $mag->name; ?>

<?php
  endforeach;
}
?>

$mag->name ist dabei der Name des Magazins aus der Tabelle magazin (falls sowas existiert, entsprechend anpassen). Der Grundgedanke ist, alle Magazine auszulesen, diese alle auszugeben und bei jeder Adresse zu überprüfen, ob dieses Magazin in $array ist. Wenn das der Fall ist, wird das Attribut checked gesetzt.

Falls du Probleme bei der Anpassung hast, sag nochmal Bescheid. Ich habe jegliche WHERE-Bedingungen bei den SQL Queries weggelassen, da müsstest du dann entsprechend auswählen.
 
Zuletzt bearbeitet:
Hallo,

irgendwie sieht der Eintrag von Tombe einfacher aus... :-/

PHP:
<?php
// das Array dient nur als Beispiel
// hier muss der Inhalt des Datenbanlfeldes übergeben werden
// die "Kommaliste" der Datenbank kannst du mit explode in ein Array umwandeln
$staedte = array("Stadt1", "Stadt3", "Stadt4");
?>

<input type="checkbox" name="magazin_checkbox[]" value="Stadt1" <?php if(in_array("Stadt1", $staedte)) echo "checked"; ?> />Stadt1
<br />
<input type="checkbox" name="magazin_checkbox[]" value="Stadt2" <?php if(in_array("Stadt2", $staedte)) echo "checked"; ?> />Stadt2
<br />
<input type="checkbox" name="magazin_checkbox[]" value="Stadt3" <?php if(in_array("Stadt3", $staedte)) echo "checked"; ?> />Stadt3
<br />
<input type="checkbox" name="magazin_checkbox[]" value="Stadt4" <?php if(in_array("Stadt4", $staedte)) echo "checked"; ?> />Stadt4
<br />
 
Ist beides im Prinzip dasselbe, nur dass bei meinem Code die einzelnen Einträge aus der Datenbank kommen. Da du aber mit den Strukturen ein wenig rumgeizt, ist es schwierig da konkreter zu helfen. ;)
 
benötigst du noch hilfe bei den Checkboxen? wenn ja kannst du dir das ja mal anschauen vielleicht hilft es dir ja, so habe ich mein Problem mit den Checkboxen gelöst :D

PHP:
#verbindung datenbank aufbauen

$id = 1;
if(isset($_POST['okay']))
{
 $box1 = $_POST['checkbox1'];
 mysql_query("UPDATE test SET box1='$box1' WHERE id='$id'");
}

echo '<center><form action="" method="POST"><input type="checkbox" name="checkbox1" value="Stadt1" ';
$inhalt = mysql_query("SELECT box1 FROM test WHERE id='$id'");
$inhalt = mysql_fetch_row($inhalt);
if($inhalt[0]!='')
{
 echo 'checked="checked"';
}
echo '>Stadt 1<input type="submit" name="okay" value="Ändern"></form>';


echo '<br><br>Hiere auswahl war : '.$box1;
?>

und hier kannst du dir das ganze mal anschauen =)
 
Danke, aber mit deinem Code kann ich irgendwie nichts anfangen. Ich bekomme die Daten einfach nicht ausgegeben. Ich glaub ich bin noch nicht so weit. :-)
 
Zurück