[mapserver-users] drawing layer with user names from mysql table

Stephen Woodbridge woodbri at swoodbridge.com
Wed Mar 20 08:09:46 EST 2002


Jan,

$map appears to be undefined at line 28.

-Steve

Jan Mantkowski wrote:
> 
> Hi all,
> 
> i have not been able to make my script run right now.
> Please help me.
> 
> Jan
> 
> PS:
> If someone has a complete working example of how to display data from mysql
> table as a layer of a map please mail it to me.
> 
> I always get this error:
> Fatal error: Call to a member function on a non-object in
> c:\apache\htdocs\pn_71\html\modules\map\index-standalone3.php on line 28
> 
> line 28 is: $layer =  $map->getLayerByName( $layerName );
> 
> This is my data in the mysql table:
> 
> -0.1271    51.5063    Jan London
> -3.7057    40.4203    Jose Madrid
> 2.3453    48.8547    Madeleine Paris
> 9.9898    53.5548    Fritz Hamburg
> 
> This my php script:
> 
> <?php
> 
> // load .dll`s, so there is no need to edit the php.ini.
> // but you need to put this files in your /php/extensions folder
> 
> dl("php_mapscript_35.dll");
> dl("php_proj.dll");
> dl("php_dbase.dll");
> 
> //variables
> 
> GLOBAL $map;
> GLOBAL $image;
> GLOBAL $layer;
> $layerName="PNUsers";
> 
> //mysql_q
> $db = mysql_connect("localhost", "root", "");
> mysql_select_db("Rogue",$db);
> $results = mysql_query("SELECT * FROM nuke_map",$db);
> if ($results === false) die("failed");
> //display result of mysql query on screen
> while ($show = mysql_fetch_array($results, MYSQL_ASSOC)) {
> echo
> $show["pn_lon"]."&nbsp;&nbsp;&nbsp;&nbsp;".$show["pn_lat"]."&nbsp;&nbsp;&nbs
> p;&nbsp;".$show["pn_name"]."<br>\n";
> }
> 
> //drawPoints
> $layer =  $map->getLayerByName( $layerName );
> 
>    // Loop through result of point query and:
>    while ($line = mysql_fetch_array($results, MYSQL_ASSOC)) {
>                  $pt = ms_newPointObj();
>                  $pt->setXY( $line["pn_lon"], $line["pn_lat"] );
> 
>                  $pt->draw($map, $layer, $image, 0, "TEST");
>                  $layer->set('status', MS_ON);
>                  $layer->draw($image);
>          }
> 
> //showmap
> $map = ms_newMapObj("data/europe.map");
> $image=$map->draw();
> //$layer->draw($image);
> $image_url=$image->saveWebImage(MS_PNG,1,1,0);
> echo "<img src=\"".$image_url."\">";
> ?>
> 
> Thanks,
> 
> Jan
> 
>   ------------------------------------------------------------------------
>                  Name: europe.map
>    europe.map    Type: unspecified type (application/octet-stream)
>              Encoding: 7bit



More information about the mapserver-users mailing list