URL: https://www.overclockers.at/coding-stuff/php_matrix_mit_for-schleifen_55761/page_1 - zur Vollversion wechseln!
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!
meinst du sowas:
Code: PHPecho '<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>';
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;
};

Also eigentlich hätte ich gerne sowas hier:
http://www.braintenance.com/kemal/pics/matrix.jpg
Ich 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.
Nehme alles zurück!!!! Das ist genau, was ich brauche! Vielen Dank!
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)Zitat von grOOvekill@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!
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 gehnZitat von grOOvekill@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.

Hm, hab ich getan, da tut sich aber gar nix. ich krieg nicht mal eine Fehlermeldung. EInfach nur eine leere Seite. Seltsam...
ich....Zitat von grOOvekill@Hm, hab ich getan, da tut sich aber gar nix. ich krieg nicht mal eine Fehlermeldung. EInfach nur eine leere Seite. Seltsam...



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".Zitat von grOOvekill@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?
nönönö checkboxes geben eher "checked" zurück 
ausserdem damit du wirklich alle checkboxes am einfachsten durchgehen kannst, benütz foreach...
wtf?? checkboxes geben immer einen wert zurück, wenn dieser mit value definiert wurde und sie gechecked sind...Zitat von Snoopnönönö checkboxes geben eher "checked" zurück
ausserdem damit du wirklich alle checkboxes am einfachsten durchgehen kannst, benütz foreach...

overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026