Mit PHP ein Schachbrett erstellen

10/15/2013 23:14 xyz'#1
Guten Abend Liebe epvp Community, ich fange direkt mit meinem Problem an. Ich soll für die Schule mittels Html & php ein Schachbrett erstellen und weiß jedoch nicht so recht wie ich dies angehen soll. ich bin totaler Anfänger und habe mit php noch nicht wirklich was gemacht. ich schreibe nun einfach mal den arbeitsauftrag, vielleicht kann mir dann jemand etwas erklären.

auftrag: php-skript erstellen das ein Schachbrett erzeugt (mit 2 eingabefeldern (x y) & erstellen button).
es soll einfach wie ein normales Schachbrett schwarze und weiße felder beinhalten.

mir reichen schon lösungsvorschläge, nicht das jemand kommt mit, ja jetzt lässt er sich alles machen. nein. wenn ich es besser könnte würde ich das gerne selbst erledigen, jedoch bekomme ich in der schule nur wenig hilfe vom Lehrer der selbst kaum Ahnung zu haben scheint.

ich danke nun schonmal für konstruktive vorschläge.

hochachtungsvoll
xyz
10/15/2013 23:21 KoKsPfLaNzE#2
na im grunde hast doch 2 schleifen, eine für x und der andere für y.

eine for schleife sollte dafür ideal sein, sprich beginnst bei 1 und so lange der wert kleiner gleich der eingabe ist gehts nach unten und in die schleife machst noch eine schleife die nach rechts geht, sollte auch for sein.

Dann guckst noch via mod oder % ob gerade bei einer geraden oder ungeraden zahl bist damit weißt ob das feld schwarz oder weiß sein soll, das machst dann via css classen.

is arbeit von maybe 5min, sollche hausaufgaben hätte ich früher och gern gehabt=)
10/16/2013 05:51 xyz'#3
Quote:
Originally Posted by KoKsPfLaNzE View Post
na im grunde hast doch 2 schleifen, eine für x und der andere für y.

eine for schleife sollte dafür ideal sein, sprich beginnst bei 1 und so lange der wert kleiner gleich der eingabe ist gehts nach unten und in die schleife machst noch eine schleife die nach rechts geht, sollte auch for sein.

Dann guckst noch via mod oder % ob gerade bei einer geraden oder ungeraden zahl bist damit weißt ob das feld schwarz oder weiß sein soll, das machst dann via css classen.

is arbeit von maybe 5min, sollche hausaufgaben hätte ich früher och gern gehabt=)
Okay danke für deine Antwort. Das mit den Schleifen wird ich hinbekommen, jedoch verstehe ich nicht ganz wie ich das mit dem % machen soll. Hab das davor noch nirgends angewendet/gesehen.
10/16/2013 06:39 #SoNiice#4
Weil ich nichts besseres zutun habe:

PHP Code:
<table width="500px" height="500px" cellspacing="0">
    <?php 
    
    
for($i=0;$i<8;$i++){ 
        echo 
'<tr>'
            for(
$ii=0$ii 8$ii++){ 
                echo 
'<td style="background-color:'
                if(
$i == 0){ 
                    echo (
$ii == 0) ? '#fff;' '#000;'
                }else{ 
                    echo (
$ii == 0) ? '#000;' '#fff;'
                } 
                echo 
'">&nbsp;</td>'
            } 
        echo 
'</tr>'
    } 
    
    
?>
</table>
Eine Post / Get Abfrage für die Inputfelder + Button denke ich, kannst du selbst einfügen durch ein wenig Google, falls du da gar keine Ahnung von haben solltest. Was ich mich aber frage, weshalb sollte euer Lehrer euch eine Aufgabe geben, die ihr gar nicht lösen könnt, wenn ihr keine Ahnung von PHP habt? :|

Sieht übrigens so aus:

[Only registered and activated users can see links. Click Here To Register...]
10/16/2013 14:24 Muddy Waters#5
Wenn du faul bist, kannst du die Optik auch komplett über CSS lösen, dann kannst du dir sogar die Verwendung des Modulo-Operators und musst einfach nur die Tabelle erzeugen, man könnte dann auch noch einzelne Felder durch entsprechende CSS-Klassen hervorheben.

Sähe dann ungefähr so aus: [Only registered and activated users can see links. Click Here To Register...]

Wobei es natürlich sein kann, dass es eurem Lehrer gerade um dem Modulo-Operator geht - dann wäre diese Lösung nicht vorteilhaft. Ist trotzdem gut, wenn man beides versteht. :)
10/16/2013 17:21 xyz'#6
Quote:
Originally Posted by Hühnchenkopf View Post
Weil ich nichts besseres zutun habe:

PHP Code:
<table width="500px" height="500px" cellspacing="0">
    <?php 
    
    
for($i=0;$i<8;$i++){ 
        echo 
'<tr>'
            for(
$ii=0$ii 8$ii++){ 
                echo 
'<td style="background-color:'
                if(
$i == 0){ 
                    echo (
$ii == 0) ? '#fff;' '#000;'
                }else{ 
                    echo (
$ii == 0) ? '#000;' '#fff;'
                } 
                echo 
'">&nbsp;</td>'
            } 
        echo 
'</tr>'
    } 
    
    
?>
</table>
Eine Post / Get Abfrage für die Inputfelder + Button denke ich, kannst du selbst einfügen durch ein wenig Google, falls du da gar keine Ahnung von haben solltest. Was ich mich aber frage, weshalb sollte euer Lehrer euch eine Aufgabe geben, die ihr gar nicht lösen könnt, wenn ihr keine Ahnung von PHP habt? :|

Sieht übrigens so aus:

[Only registered and activated users can see links. Click Here To Register...]
Danke dir für die Lösung, ich werde sie mir sie ein wenig anschauen um es genau zu verstehen. Wegen dem Lehrer. Er gibt immer jede Woche einem zufälligen Schüler ne Aufgabe für die Sachen von der darauffolgenden Woche, die der dann zeigen soll. Hab zwar so blätter bekommen aber die bringen mir nichts darum hab ich hier lieber mal gefragt. ja das mit post und get kann ich schon, danke nochmal.

ich schaue jetzt ob ich es fertig bekomme und reporte dann den thread fürn Close.

edit: funktioniert. kann mir vielleicht noch wer die zeile erklären?

echo ($ii % 2 == 0) ? '#fff;' : '#000;';
10/16/2013 18:46 #SoNiice#7
[Only registered and activated users can see links. Click Here To Register...]

Wenn der Rest von $ii geteilt durch 2 = 0 ist wird die Farbe weiß, ansonsten schwarz.
10/17/2013 08:41 xyz'#8
Quote:
Originally Posted by Hühnchenkopf View Post
[Only registered and activated users can see links. Click Here To Register...]

Wenn der Rest von $ii geteilt durch 2 = 0 ist wird die Farbe weiß, ansonsten schwarz.
Achso % ist geteilt ? ist das was dann gemaht werden soll und : was gemacht werden soll wenn es nicht == 0 ist. Okay danke für die hilfe. ich wollte noch fragen ob mann links und unter den kästen die Buchstaben/zahlen eines schachbretts auflisten kann. immer so viel wie es auch lang ist. das wär glaub ich auch noch ganz gut.
10/17/2013 09:57 #SoNiice#9
Schau dir den Link an, dann weißt du wofür '%' steht, geteilt ist '/'.
10/17/2013 12:31 Synatex#10
Quote:
und unter den kästen die Buchstaben/zahlen eines schachbretts auflisten kann. immer so viel wie es auch lang ist. das wär glaub ich auch noch ganz gut.
Ja, kann man. Ist mit den for Schleifen sogar relativ einfach zu lösen.