Checkboxen auswerten

Eiszwerg

Erfahrenes Mitglied
Hallo liebe Community,

ich möchte Folgendes bewerkstelligen:
In einer Tabelle stehen 8 Einträge (in dem Fall Spielernamen).
Diese werden nach folgendem Muster ausgegeben (O = Checkbox):

O Spieler1
O Spieler2
...
O Spieler8

Nun soll man die Spieler markieren können, die an einem Turnier teilnehmen dürfen.
Soweit so gut. Das Problem ist, dass ich keine Ahnung habe, wie ich die markierten Spieler an das folgende Script übergebe.

Wer mag und kann mir helfen?

Gruss Eiszwerg

PS: Suche erbrachte keine mir hilfreichen Ergebnisse...
 
Also ich komm da auf keinen grünen Zweig.
Folgender Code besteht auf die "billigste" Weise wie folgt:

PHP:
<?
include("vars.php");
mysql_connect ($server,$user,$pw) or die ("Es besteht keine DB Verbindung :o(");
$dbanfrage = "SELECT * FROM $table";
$result = mysql_db_query ($db, $dbanfrage);
while ($Ausgabe = mysql_fetch_array ($result))
{
echo"
<form action=\"schreiben.php\" method=\"post\">
<input type=\"checkbox\" name=\"spieler1\" value=\"$Ausgabe[s1]\"> $Ausgabe[s1]<br>
<input type=\"checkbox\" name=\"spieler2\" value=\"$Ausgabe[s2]\"> $Ausgabe[s2]<br>
<input type=\"checkbox\" name=\"spieler3\" value=\"$Ausgabe[s3]\"> $Ausgabe[s3]<br>
<input type=\"checkbox\" name=\"spieler4\" value=\"$Ausgabe[s4]\"> $Ausgabe[s4]<br>
<input type=\"checkbox\" name=\"spieler5\" value=\"$Ausgabe[s5]\"> $Ausgabe[s5]<br>
<input type=\"checkbox\" name=\"spieler6\" value=\"$Ausgabe[s6]\"> $Ausgabe[s6]<br>
<input type=\"checkbox\" name=\"spieler7\" value=\"$Ausgabe[s7]\"> $Ausgabe[s7]<br>
<input type=\"checkbox\" name=\"spieler8\" value=\"$Ausgabe[s8]\"> $Ausgabe[s8]<br>
<input type=\"submit\" value=\"Sichern\">
</form>";    
}
?>

Da ich von array(); keine Ahnung habe benötige ich auch in dem Punkt Hilfe.

Das weitere Problem besteht darin, dass von den max. 8 Spielern max. 5 wieder zurück in die Tabelle sollen (s_id,s1,s2,s3,s4,s5,s6,s7,s8).
Sprich: s1-s5 werden wieder aufgefüllt mit den gecheckten 5 Namen aus den verfügbaren max. 8 Namen.

Wie realisiere ich das am Klügsten?
 
Hallo,

wo ist denn da das Problem? Verschickst es einfach per Post, fertig.

PHP:
$i = 1;
$check = array();
while($i <= 8) {
  $fix = 'spieler'.$i;
  if($_POST[fix] != '') {
  array_push($check, $_POST[$fix]);
  }
}
$insert = mysql_query("INSERT INTO datenbank (s1,s2,s3,s4,s5) VALUES ('$check[0]','$check[1]','$check[2]','$check[3]','$check[4]')");

Fertig. Ist doch wirklich keine grosse Sache. Nächstes Mal selber! ;)

mfg
DarkManX
 
Nun, wenn ich das richtig verstehe, erstellst Du ein array namens $check.
Anschliessend läuft eine Schleife 8 mal (Anzahl der Spieler) durch und prüft, ob die checkbox namens Spieler1-Spieler8 nicht leer ist.
Wenn die checkbox einen Wert hat (Name des Spielers), dann wird dieser Wert an den letzten Platz des arrays geschoben.

Ist das korrekt? Verbesser mich bitte, wenn nicht.
Das Ding ist, dass ich auch verstehen will, was ich mache :-)
 
Okay, hab's begriffen.
2Fehler ausgemerzt (Hochzählen, falsche Zuweisung bei $fix) und nun geht's.

Vielen Dank für den Denkanstoss

PHP:
<?
$check = array(); 
while($i <= 7) { 
  $i++;
   $fix = $_POST['spieler'.$i]; 
  if($fix != "") { 
  array_push($check, $fix); 
  } 
} 
echo "$check[0]<br>$check[1]<br>$check[2]<br>$check[3]<br>$check[4]<br>";
?>
 
Zurück