checkboxen + array

ultrakollega

Erfahrenes Mitglied
Ich habe ein Formular, indem sind checkboxen. Genau so:

chk1.gif


Im Formular habe ich diesen Code:

PHP:
<?
$sql_grp = "select gruppe from $tbl_gruppen";
$result_grp = mysql_query($sql_grp);
   while($row_grp = mysql_fetch_array($result_grp, MYSQL_ASSOC)){ ?>
    <input name="chk_gruppen[]" type="checkbox" value="<? echo $row_grp["gruppe"] ?>" <? if(strstr($row["gruppe"], $row_grp["gruppe"])){echo "checked";} ?>> <? echo $row_grp["gruppe"]; ?><br> 
<? } ?>

in der Datenbank im Feld Gruppe sind die Daten so gespeichert:

Standart|Paznaun|Tiboss

Das kurze Skript oben macht folgendes. Es ließt alle Gruppen aus
der Tabelle Gruppen aus. Schreibt sie untereinander um macht eine
checkbox davor. Anhand von zB "Standart|Paznaun|Tiboss" macht das
Skript nun ein Häcken vor die drei wie im Bild.

Das funktioniert alles einwandfrei. Nun kann man aber andere Gruppen
zuweisen, wie auf diesem Bild zb:

chk2.gif


So, das soll man speichern können, das heißt, im Falle vom zweiten
Bild, soll folgender String in die Datenbank geschrieben werden:

Paznaun|marangun|silbertaler

Im Prinzip brauche ich ein Skript welches mir die angekreuzten
Sachen mit dem Trennzeichen | in die DB schreibt.

Ich hoffe das ist nicht zu kompliziert Erklärt, denke nicht.

Danke für die Antworten,

ultra
 
Zuletzt bearbeitet:
also..deine Checkboxen haben ja alle den Namen "chk_gruppen[]" .. das heißt also das "chk_gruppen[]" ein Array mit den Values ergibt, beim Absenden..

das machste dir zu nutze, in dem du einfach nen implode() mit Trennzeichen an den Post-Daten machst ($_POST['chk_gruppen'])

den entstehenden String musst du dann nur noch in die Datenbank eintragen...
 
da bekomm ich aber:

Code:
Warning: Bad arguments to implode() in /home/www/xxx/xxx/xxx/c_kontakt_edit.php on line 5

habe es so gemacht:

PHP:
$gruppe = implode("|",$_POST['chk_gruppen']);
echo $gruppe;
die;

???
 
1. kann es sein das du eine älter PHP-Version hast, die $_POST noch nicht kennt? Dann probiers mal an stelle von $_POST mit $HTTP_POST_VARS;

2. hat die Variable überhaupt Werte? Probier´s mal aus, in dem du die einfach der Funktion print_r() übergibst..

3. hast überhaupt was angecheckt? :)
 
klar, es is die php version. bei uns am server läuft noch 4.0.6!

bei uns machen die erst im sommer ein update ...

aber danke!
 
Zurück