|
Posted by ZeldorBlat on 05/02/07 22:17
On May 2, 6:11 pm, dawnerd <dawn...@gmail.com> wrote:
> I am having troubles with my script. It is supposed to generate a
> "map" from a serialized array stored in a database. However, it is not
> generating any html. I know the data is being retrieved from the
> database and being unserialized properly as I've tested that. It seems
> to not go through the loop.
>
> /**
> * function drawMap( $startx, $starty, $p1, $p2, $p3 )
> * Generates html for output.
> */
> function drawMap( $startx, $starty, $p1, $p2, $p3 )
> {
> $sql = "SELECT * FROM `cp_citymap` WHERE `p1` = '$p1' AND `p2` =
> '$p2' AND `p3` = '$p3'";
> $query = $this->database->query( $sql );
> $num = $this->database->count_rows( $query );
>
> if( $num != 1 )
> {
> $this->error = "Could not find City Map data.";
> return false;
> }
>
> $row = $this->database->get_row( $query );
>
> $mapArray = unserialize( $row['blocks'] );
>
> $x = $startx;
> $y = $starty;
> $maxx = $x - 11;
> $maxy = $y + 10;
>
> while( $x < $maxx )
> {
> $this->outputHTML .= "<span class=\"cityMapBlock\"><a href=\"#\"
> title=\"" . $mapArray[$x][$y]['type'] . "\">" . $mapArray[$x][$y]
> ['type'] . "</a></span>";
>
> if( $mapArray[$x][$y] == $maxy )
> {
> $this->outputHTML .= "</br>";
> $y = $maxy - 10;
> $x--;
> }
> }
>
> return true;
> }
>
> Any help at all would be appreciated greatly, and I'll give you a
> million internets.
You have this:
$x = $startx;
Then you have:
$maxx = $x - 11;
So, right from the start, $maxx is less than $x. As such, the
condition in your while loop ($x < $maxx) is never true.
Navigation:
[Reply to this message]
|