3 Spalten mit Schleife füllen

goodfreezer

Grünschnabel
Hallo,

ich möchte gerne, dass 30 variabeln die vorher durch eine checkbox gesetz werden auf einer neuen Seite ausgelesen werden ob sie gesetzt sind und wenn sie gecheckt wurden hier angezeigt werden.
Das checken der Variabeln und die übergabe der werte nix (wenn nicht gecheckt) od 1 (wenn sie gecheckt wurden funkt problemlos.

Auch die Ausgabe der Variabeln funkt durch die Syntax
PHP:
if ($variabel1=='')
 {} //kein Wert in der Variabel also nix anzeigen
else
{
echo "variabel 1"; // Inhalt gesetzt also Variabel 1 anzeigen.
}

if ($variabel2=='')
...
Ich möchte nun gerne, dass nachdem 10 Variabeln angezeigt wurden eine neue Spalte generiert wird.

Wenn ich nun aber nach
PHP:
if ($variabel10=='')
einen neuen <td> Block setzte und vorher von Variabeln1-10 nur 3 gesetzt werden würde er diese neue Spalte ja schon nach 3 Variabelnausgaben setzten. Ich möchte aber das immer erst eine 10er Spalte vollgemacht wird bevor eine neue Spalte angelegt wird. Sieht ja sonst doof aus. Dann hätte ich ja vielleicht eine Spalte mit 3 Variabeln, die nächste mit einer und die 3. Spalte mit 7....

Ich denke ja das lässt sich irgendwie lösen indem ich die Variabeln erst in einen Array schreiben lasse. Aber wie ich das in diesem Fall nun genau schaffe:confused:

Könnt Ihr mir helden? Vielen Dank
goodfreezer
 
Hallo
Hast du wirklich 30! Variablen weil du 30 Checkboxen hast?

Mach das lieber so:

PHP-Code (Checkboxen auswahl):
PHP:
...
<input type="checkbox" value="DEIN WERT" name="checkArray[]" />
...

Wenn du nun deinen Post abgesendet hast, bekommst du mit
PHP:
$array = $_POST["checkArray"]
ein Array in dem nur die Ausgewählten Checkboxen stehen.

Diese gibst du dann so aus:
PHP:
...
for($i=0;$i<$count($array);$i++){
       echo "<td>".$array[$i]."</td>";
       if(($i%10==0) && ($i!=0))       echo "</tr><tr>";
}
....
 
Zuletzt bearbeitet:
Vielen Dank für die Antwort.

Nun lasse ich die Checkboxen aber in eine Datenbank eintragen.
Das heißt, dass ich für jede Checkbox ein Tabellenfeld habe und dann einen festen namen zuweisen muss. z.B. Datenbankfeld Feld1

PHP:
<input type="checkbox" value="Value-WERT" name="Feld1" />
usw.

kann ich in diesem Fall die genannte Lösung trotzdem nutzen oder muss ich ein Datenbankfeld für alle checkboxen wählen und dann auch einen anderen Feldtypen wählen. Habe bis jetzt für jede Checkbox immer varchar (1) gewählt da ja pro checkfeld ja nur 1 für gecheckt und nix für ungecheckt eingetragen werden musste.
 
Nun, zwieschen DB und HTML hast du ja noch PHP. ergo muss HTML und DB nicht zu 100% übereinstimmen.

Eingie Lösungsansätze:
- Normalisieren der DB
- Für Ausgabe die Idee von awortmeier übernehmen und zum speichern/lesen einen kleinen Konverter bauen
- dito, aber die werte mit Trennzeichen versehen in die DB speichern (explode/implode hilft)
 
Zurück