Please help with logical or syntactical problem!

Do you have a question? Post it now! No Registration Necessary.  Now with pictures!

Threaded View

Please be so kind and take a few minutes, I believe any mind other than
mine can solve this. I am writing a game. As you wander through the
gameworld, you may come upon signs. I have a DB where the signs are
listed, with "longitude" and "latitude". Anytime someone takes a step,
I want to show a grid where any square can be reached within 3 steps.
And if there's a sign in one grid, I want to show it, so the player can
walk directly to it.
In my test environment I have three signs located very close and around
to 100|50. The routine I wrote below works. But it only gives me the
last of the three signs. And I just can't tell if it's a logical
problem with my two loops and the foreach, or if there's a hook with
PHP itself.

So why does it only show me the last of the three signs????
Also, how can I make this with POST?
And I know this is messy, how could I make it faster?

I am grateful for any pointer!

Helpless regards, Gilbert.

PS: $lire is for x, $raru is for y

$signr = $db->get_results("SELECT text,longitude,latitude FROM signs
WHERE longitude>$lire-4 and longitude<$lire+4 and latitude>$raru-4 and

    for ($j = 3 ; $j <= 9 ; $j++) {
        for ($i = 3 ; $i <= 9 ; $i++) {
            $cps[$i][$j] = "<td width=30 height=30 align=center valign=center><a
href='main.php?dir=$i$j'><img src='images/";
            $icon = "gravel.gif";
            if (is_array($signr)) {
                foreach($signr as $check) {
                    $x = $lire+$i-6;
                    $y = $raru+$j-6;
                       if ($check['longitude'] == $x && $check['latitude'] == $y ) {
                        $icon = "scroll.gif";
                       else $icon = "gravel.gif";
            $cps[$i][$j] .= $icon;
            $cps[$i][$j] .= "' style='border:2px outset black'
//        $cps[6][6] = "<td></td>";
        $compass = "<form action='main.php' method='POST'>";
        $compass .="<table cellspacing=0 cellpadding=0
        $compass .= "<tr><td></td><td></td><td></td>      ".$cps[6][3]."
        $compass .= "<tr><td></td><td></td>
        $compass .= "<tr><td></td>
        $compass .=
        $compass .= "<tr><td></td>
        $compass .= "<tr><td></td><td></td>
        $compass .= "<tr><td></td><td></td><td></td>     ".
        $compass .= "</table></form>";

Re: Please help with logical or syntactical problem!

I wrote that part again. This time the $cps is premade, and I only
foreach $signr and replace the $cps where necessary. Learning by
Thanks anyway to anyone who read it.
Greets, Gilbert.

Site Timeline