grOOvekill@
LegendVienna Badass
|
Griass enk!
Ich habe folgendes Problem: Ich habe eine Eingabe, in der eine Zahl von 1 bis 15 eingegeben wird. Der eingegebene Wert wird an ein anderes php File geschickt. Anhand dieses Wertes soll eine Tabelle erstellt werden, die genauso viele Zellen hat, vertikal und horizontal (also eine Matrix). In diesen Zellen befinden sich Checkboxen, die man auswählen kann.
Ich habe es zwar geschafft, daß mir die Checkboxen vertikal angezeigt werden, aber vertikal und horizontal schaffe ich irgendwie nicht. Wie muß ich da die for-Schleife aufbauen? Ich krieg das mehrdimensionale Array in der Schleife irgendwie nicht hin.
Kann mir da mal jemand helfen? Hier mein Code:
for ($rows=0;$rows<$anz;$rows++){ echo ("<table border=\"1\">"); echo ("<tr><td><INPUT TYPE=\"checkbox\" NAME=\"check\"></td></tr>"); echo ("</table>"); }
Danke!
|
flaimo
ILFTKYS
|
meinst du sowas: echo '<table>';
for($i=0; $i <= $anzahlfelder; $i++)
{
echo '<tr>';
for($j=0; $j <= $anzahlfelder; $j++)
{
echo '<td>Zelleninhalt: X= ' . $j . ', Y= ' . $i . '</td>';
}
echo '</tr>';
}
echo '</table>';
|
Snoop
Here to stay
|
jo so würde ich das auch lösen, bzw habe ich so gelöst bei der hardtronix gallery, und wenn du doch schon vorher abbrechen willst einfach ein IF ($j == "irgendeinezahl") { break; };
|
grOOvekill@
LegendVienna Badass
|
Also eigentlich hätte ich gerne sowas hier: http://www.braintenance.com/kemal/pics/matrix.jpgIch krieg's aber nur entweder horizontal oder vertikal hin. Der obere Code hat bei mir nicht ganz gefunzt, habe ihn mir jedoch nur auf die Schnelle ansehen können.
|
grOOvekill@
LegendVienna Badass
|
Nehme alles zurück!!!! Das ist genau, was ich brauche! Vielen Dank!
|
grOOvekill@
LegendVienna Badass
|
Hi! So, nachdem ich die Matrix ordentlich anzeigen kann, stehe ich nun wieder an. Ich habe jetzt also eine Matrix mit Checkboxen drinnen. Diese Matrix will ich in einer neuen Tabelle anzeigen mit lauter 1'ern für die gecheckten und 0'ern für die nicht gecheckten.
Hier mein Code für das Einlesen:
echo "<table border=1 cellspacing=0>"; for($zeile=0; $zeile < $anz; $zeile++){ echo ("<form action=\"berechnen.php\" method=post>"); echo "<tr>"; for($spalte=0; $spalte < $anz; $spalte++){ echo ("<td><input type=checkbox name=\"graph[$zeile][$spalte]\" value=\"1\"></td>"); } } echo "</tr>"; }
Bei dem value="1" bin ich mir nicht ganz sicher. Wie auch immer, ich möchte diese Infos mit der berechnen.php auffangen und einfach in einer Tabelle ausgeben. Funzt aber irgendwie nicht. Hier der Code:
<?php print ( "<table border=1>"); for($zeile=0; $zeile= $knotenanz; $zeile++){ echo "<tr>"; for($spalte=0; $spalte = $knotenanz; $spalte++){ print ("<td>$graph[$zeile][$spalte]</td>"); } echo "</tr>"; } ?>
Ich danke für jede Hilfestellung!
|
watchout
Legendundead
|
Hi! So, nachdem ich die Matrix ordentlich anzeigen kann, stehe ich nun wieder an. Ich habe jetzt also eine Matrix mit Checkboxen drinnen. Diese Matrix will ich in einer neuen Tabelle anzeigen mit lauter 1'ern für die gecheckten und 0'ern für die nicht gecheckten.
Hier mein Code für das Einlesen:
echo "<table border=1 cellspacing=0>"; for($zeile=0; $zeile < $anz; $zeile++){ echo ("<form action=\"berechnen.php\" method=post>"); echo "<tr>"; for($spalte=0; $spalte < $anz; $spalte++){ echo ("<td><input type=checkbox name=\"graph[$zeile][$spalte]\" value=\"1\"></td>"); } } echo "</tr>"; }
Bei dem value="1" bin ich mir nicht ganz sicher. Wie auch immer, ich möchte diese Infos mit der berechnen.php auffangen und einfach in einer Tabelle ausgeben. Funzt aber irgendwie nicht. Hier der Code:
<?php print ( "<table border=1>"); for($zeile=0; $zeile= $knotenanz; $zeile++){ echo "<tr>"; for($spalte=0; $spalte = $knotenanz; $spalte++){ print ("<td>$graph[$zeile][$spalte]</td>"); } echo "</tr>"; } ?>
Ich danke für jede Hilfestellung! woher du die variable $knotenanz auf einmal herkriegst ist mir nicht klar, mir is aber klar, dass das ein Vergleich sein sollte in den for-argumenten, und eine überprüfung auf gleichheit war in php schon immer "==" (bzw "===" wenn auch der datentyp auf gleichheit geprüft werden soll)
|
grOOvekill@
LegendVienna Badass
|
Das zweite COde-fragment befindet sich in einer anderen Datei. Die Variable $anz wird mittels "hidden" Feld an diese Datei übermittelt und in $knotenanz umbenannt. Hätte ich vielleicht vorher erwähnen sollen, sorry.
|
watchout
Legendundead
|
Das zweite COde-fragment befindet sich in einer anderen Datei. Die Variable $anz wird mittels "hidden" Feld an diese Datei übermittelt und in $knotenanz umbenannt. Hätte ich vielleicht vorher erwähnen sollen, sorry. trotzdem solltest du statt '=' ein '==' verwenden, dann dürfts auch gehn  edit: so <?php print ( "<table border=1>"); for($zeile=0; $zeile == $knotenanz; $zeile++){ echo "<tr>"; for($spalte=0; $spalte == $knotenanz; $spalte++){ print ("<td>$graph[$zeile][$spalte]</td>"); } echo "</tr>"; } ?>
|
grOOvekill@
LegendVienna Badass
|
Hm, hab ich getan, da tut sich aber gar nix. ich krieg nicht mal eine Fehlermeldung. EInfach nur eine leere Seite. Seltsam...
|
watchout
Legendundead
|
Hm, hab ich getan, da tut sich aber gar nix. ich krieg nicht mal eine Fehlermeldung. EInfach nur eine leere Seite. Seltsam... ich....  das kommt davon, wenn man net denkt...  du brauchst entweder "<", oder "<=" kommt drauf an, was in der variable drinn' steht
|
grOOvekill@
LegendVienna Badass
|
Hm. Okay, ein Problem gelöst, schon steht das nächste da. Ich habe so eine Matrix: http://www.braintenance.com/kemal/pics/matrix.jpgDie gecheckten Checkboxen bekommen den Wert 1 zugewiesen, die anderen... nicht. Wenn ich diese Matrix nun in einem Array übergebe, müsste ich ja jede Menge 1'er und 0'er haben, oder? Beim Versuch den Inhalt auszugeben, bekomme ich aber lauter gleiche Inhalte. Die Checkboxen entstehen so: echo ("<td><input type=checkbox name=\"graph[$zeile][$spalte]\" value=\"1\"></td>");Ich müßte also beim Ausgeben abfragen, welcher Wert im jeweiligen Feld drinnensteht, oder? Das mache ich so: if ($graph[$zeile][$spalte]==1){ print ("<td width=20 height=20 align=center>$graph[$zeile][$spalte]</td>"); }Ich habe den furchtbaren Verdacht, daß ich da ganz falsch liege, aber auch nach mehrmaligem versuch hat sich der gewünschte Effekt nicht eingestellt. Irgend'ne Idee?
|
watchout
Legendundead
|
Hm. Okay, ein Problem gelöst, schon steht das nächste da. Ich habe so eine Matrix: http://www.braintenance.com/kemal/pics/matrix.jpg
Die gecheckten Checkboxen bekommen den Wert 1 zugewiesen, die anderen... nicht. Wenn ich diese Matrix nun in einem Array übergebe, müsste ich ja jede Menge 1'er und 0'er haben, oder? Beim Versuch den Inhalt auszugeben, bekomme ich aber lauter gleiche Inhalte.
Die Checkboxen entstehen so: echo ("<td><input type=checkbox name=\"graph[$zeile][$spalte]\" value=\"1\"></td>");
Ich müßte also beim Ausgeben abfragen, welcher Wert im jeweiligen Feld drinnensteht, oder? Das mache ich so: if ($graph[$zeile][$spalte]==1){ print ("<td width=20 height=20 align=center>$graph[$zeile][$spalte]</td>"); }
Ich habe den furchtbaren Verdacht, daß ich da ganz falsch liege, aber auch nach mehrmaligem versuch hat sich der gewünschte Effekt nicht eingestellt.
Irgend'ne Idee? felder, wo keine werte drinnen stehen werden einfach nicht übergeben - wodurch der jeweilige zugehörige wert immer "NULL" ist - im gegensatz zu "0". mit if (isset($graph[$zeile][$spalte])===FALSE) { $graph[$zeile][$spalte]=0; } sollte sich dieser mangel beheben lassen...
|
Snoop
Here to stay
|
nönönö checkboxes geben eher "checked" zurück  ausserdem damit du wirklich alle checkboxes am einfachsten durchgehen kannst, benütz foreach...
|
watchout
Legendundead
|
Bearbeitet von watchout am 24.11.2002, 20:21
|