problem mit form auswertung

FreeZee

Mitglied
hab zwar schon die suchfunktion benutzt und alles durchgeforstet, aber das richtige hab ich dabei nicht gefunden, nun bin ich halb am verzweifeln! :( ich habe ein formular mit 13 checkboxen. ich will diese von einem weitern script auslesen lassen und dann die tabel in meiner db updaten. jede einzelne checkbox soll den wert 1 oder 0 zurückgeben. jede checkbox hat eine spalte in der db, also somit 13 spalten, in die entweder individuell beim anklicken auf 1 oder wenn die box offen bleibt auf 0 updatet! ich hab jetzt schon 3 std dran rumgebastelt und bin bis jetzt zu keinem ergebnis gekommen ! schonmal vielen dank im voraus! hier noch das script:
PHP:
<?PHP

if($HTTP_GET_VARS['select']==""){
echo"<form method='post' action='blah'>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='1'></center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='2' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='3' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='4' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='5' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='6' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='7' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='8' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='9' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='10' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='11' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='12' ><center></td>
	 <td width='15'><center><input type='checkbox' name='aut[]' value='13' ><center></td>
	 </table>
	 <br><input type='submit' name='post' value='Abschicken'>
	 </form>
	 ";
	 }
	 
	 if($HTTP_GET_VARS['select']== 'ed') {
     
for($i = 0; $i < 13; $i++) {

     
     if(isset($aut[$i])) {$check1 =1; echo"$check1<br>";}
     elseif(!isset($aut[$i])) {$check1 =0; echo"$check1<br>";}
     
     
     }
	 $query="UPDATE autorisierung SET news='$check1' , users='$check' , diredit='$check' , pics='$check' , html='$check' , counter='$check' , suche='$check' , forum='$check' , pm='$check' , tuts='$check' , charts='$check' , mysql='$check',  php='$check'	 WHERE id=1";
	 mysql_query($query);
	 }
	 ?>
 
Zuletzt bearbeitet:
hmmm sowas in der art hatte ich hier schon mal :-)

<input type='checkbox' name='aut[]' value='1'>

wenn du die box anclickst dann bekommst du ja ein array aut zurück und in aut[0] ist der wert 1

nicht angecklickte checkboxen übertragen keine werte..
sprich wenn du als nächstes die 4te checkbox angeklickt hast bekommst du aut[1] = 4 usw
sprich dein array aut ist nur so gross wie die anzahl der angeklickten checkboxen sind und als inhalt haste den value wert..

um das in null und eins umzubauen kannste z.b sowas machen:

$apos=0;
for ($lo=0;$lo<14;$lo++) {
if ($aut[$apos] == $lo) {
$check[] = 1;
$apos++;
} else {
$check[] = 0;
}
}

und dann im sql query:

$query="UPDATE autorisierung SET news='$check[0]' , users='$check[1]' ... usw...
 
Zuletzt bearbeitet:
Hallöchen!
Ich schließe mich dem obigen problem (z.t.) an. ich habe auch schon die Boardsuche dafür missbraucht aber nichts brauchbares gefunden.

Und zwar habe ich:

1 Tabelle "games" mit gameid, gamename
1 Tabelle "team" mit memberid, membername
1 Tabelle "teamgames" mit teamgamesid, memberid, gameid,check

In die Tabelle "games" sollen games eingefügt werden, die die Spieler später dann zur Auswahl haben.
In der Tabelle "team" stehen die gesamten member drin.
in der Tabelle "teamgames" soll jedes Spiel eingetragen werden, das der spieler zuvor per checkbox gewählt hat. Wenn "check" = 1 dann ist die checkbox aktiviert ansonsten ist sie 0 also nicht angewählt.

Ich habe nun per Hand für die derzeit 8 games die werte manuell eingetragen gehabt um zu testen ob eine Ausgabe einwandfrei funktioniert. Ja, es funktioniert super. Das Problem nun:
Wie könnte man das in die Datenbank schreiben. Schließlich haben alle checkboxes den selben Namen für jedes der games.

Hiermit frage ich die Werte ab und gebe sie als Array über eine while-Schleife ab:

PHP:
SELECT t1.*, t2.* FROM ".$prefix."_games AS t1, ".$prefix."_teamgames AS t2 
WHERE t1.gameid = t2.gameid AND t2.memberid = '$memberid' 
ORDER BY t2.gameid ASC;

Und folgende Dinge stehen in der while-Schleife bzw dem mySQL-Array:

Code:
<input name=\"check\" type=\"checkbox\" value=\"1\" ".$checked."> 
<a href=\"".$row['url']."\" target=_blank\"> ".$row['game']."</a>

Ach so, das $checked überprüfe ich ein der Schleife selbst... also ob in der Datenbank "checked" (1) steht oder (0) "not checked".

Das alles funktioniert wie schon gesagt bestens. Nur wie schreibe ich das ganze in die Datenbank zurück, beispielsweise weil ich die checkboxes anderweitig angewählt habe. Mir scheint es irgendwie recht kompliziert, da sich die Anzahl der games immer wieder ändern könnten in der Datenbank und dementsprechend die checkboxes variieren können.
 
Zuletzt bearbeitet:
Zurück