# Schachbrett mit html und php



## Machatzke (24. März 2010)

Hi an alle!

Ich muss mithilfe von php und html ein schachbrett ersellen, ansich kein problem, ich habe einfach mit html eine tabelle eingefügt und diese eingefärbt...

Jetzt sollen wir aber diese mit möglichst wenig zeilen in ein phpscript verpacken, also so um die 20 zeilen.
vielleicht könnt ihr ja helfen, ich sitze hier schon wieder seit über 4 stunden an google und finde nichts brauchbares...


```
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Schachbrett - Das 8x8 Feld</title>
</head>
<body>
<table width=500px height=500px cellspacing=0>

<tr bgcolor=#CCFFCC>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
</tr>

<tr bgcolor=#CCFFCC>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
</tr>

<tr bgcolor=#CCFFCC>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
</tr>

<tr bgcolor=#CCFFCC>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
</tr>

<tr bgcolor=#CCFFCC>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
</tr>

<tr bgcolor=#CCFFCC>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
</tr>

<tr bgcolor=#CCFFCC>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
</tr>

<tr bgcolor=#CCFFCC>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
<td bgcolor=white></td>
<td bgcolor=black></td>
</tr>

</table>
</body>
</html>
```


----------



## rd4eva (24. März 2010)

Eigentlich garnicht so schwer.
Nicht schön aber praktikabel

```
<?php
for($i=0;$i<8;$i++){
	echo '<tr>';
		for($ii=0;$ii<8;$ii++){
			echo '<td style="background-color:';
			if($i%2 == 0){
			echo ($ii % 2 == 0) ? '#fff;' : '#000;';
			}else{
			echo ($ii % 2 == 0) ? '#000;' : '#fff;';
			}
			echo '">&nbsp;</td>';
		}
	echo '</tr>';
}
?>
```


----------



## ComFreek (24. März 2010)

Wo hier gerade der Modulo-Operator und gerade Zahlen angesprochen wird, hätte ich auch eine Frage:
_0%2=0_ ==> 0 ist gerade. Stimmt das rein mathematisch?


----------



## Machatzke (24. März 2010)

Also deins hat bei mir leider nicht funktioniert, aberr ich habe es jetzt anders gelöst, also es geht, danke für die hilfe!


----------



## ByeBye 148134 (24. März 2010)

Nach der Mathematik ist 0 weder gerade noch ungerade, sozusagen eine "neutrale" Zahl.
Übrigens, würde ich den unteren Codeschnipsel einfach in eine Funtkion packen:


```
function erstelleReihe(Boolean: schwarz){
  $farbe = 1;
  if (!schwarz) {
    //weiß kommt in der Reihe zuerst
    $farbe  = 0;
  }
  echo '<tr>'; 
  for($ii=0;$ii<8;$ii++){
    echo '<td style="background-color:';
    if($farbe=0){
      echo "'white'";
      $farbe = 1;
    }else{
      echo "'black'";
      $farbe = 0;
    }
      echo '">&nbsp;</td>';
    }
}
```

Keine Garantie, das das vollständig syntaktisch korrekt ist.
Jedenfalls kannst du die Funktion einfach aufrufen, mittels dem Boolean angeben mit welcher Farbe die Reihe anfängt und so das Brett aufbauen.


----------



## rd4eva (24. März 2010)

> Also deins hat bei mir leider nicht funktioniert, aberr ich habe es jetzt anders gelöst, also es geht, danke für die hilfe!



Dann hast du, um es kurz zu machen, irgendwo mist gebaut. Funktioniert ohne Probleme. 



> 0%2=0 ==> 0 ist gerade. Stimmt das rein mathematisch?


Ja.
Jedenfalls wenn man, trotz diverser Diskussionen ob 0 neutral ist oder nicht, wikipedia glauben schenkt.


> Eine natürliche oder ganze Zahl heißt gerade, wenn sie durch Zwei teilbar  ist, ansonsten ungerade. Dementsprechend wird die Null als gerade angesehen.


----------

