Napisałem skrypt wyświetlający mapę do gry.
  1. <?php
  2. $sql = mysql_query("select * from mapa");
  3. $pole = mysql_fetch_array($sql);
  4. echo "<table>";
  5. for ($i=1; $i<=8; $i++){ //pętla pozioma
  6. echo "<tr><td>$i</td>";
  7. for ($p=1; $p<=8; $p++){ //pętla pozioma pól
  8. if($i == $pole['y'] AND $p == $pole['x']){
  9. echo "<td>Wiocha !</td>";
  10. }else{
  11. echo "<td>Pustkowia</td>";
  12. }
  13. }
  14. echo "</tr>";
  15. }
  16. echo "<tr>";
  17. for ($i=NULL; $i<=8; $i++){ //pętla pozioma
  18. echo "<td>$i</td>";
  19. }
  20. echo "</tr></table>";
  21. ?>

I wszystko działa dobrze ale gdy mam np. 3 rekordy w bazie to porównuje tylko pierwszy rekord i wyświetla info wiocha!. Wiadomo dlaczego. I teraz moje pytanie jak mogę dostosować ten skrypt by porównywało więcej niż 1 rekord ?
Stworzyłem jeszcze jedną wersję tego skryptu.
  1. <?php
  2. $sql = mysql_query("select * from mapa");
  3.  
  4. echo "<table>";
  5. for ($i=1; $i<=8; $i++){ //pętla pozioma
  6. echo "<tr><td>$i</td>";
  7. for ($p=1; $p<=8; $p++){ //pętla pozioma pól
  8. while($pole = mysql_fetch_array($sql)){
  9. if($i == $pole['y'] AND $p == $pole['x']){
  10. echo "<td>Wiocha !</td>";
  11. }else{
  12. echo "<td>Pustkowia</td>";
  13. }
  14. }
  15. }
  16. echo "</tr>";
  17. }
  18. echo "<tr>";
  19. for ($i=NULL; $i<=8; $i++){ //pętla pozioma
  20. echo "<td>$i</td>";
  21. }
  22. echo "</tr></table>";
  23. ?>

Ale i ona mnie nie zadowala. Ponieważ wyświetla tyle pól odpowiednio wiocha/pustkowia ile jest rekordów w bazie , a rekordy w bazie chcę tylko stworzyć dla wiosek aby nie obciążać bazy. Z góry dziękuję wszystkim za pomoc.