<DIV>
<DIV><FONT size=3>
<P align=justify>Hi! Kevin,</P>
<P align=justify>Yesterday I was too busy in company¡¯s project and did not get chance to reply your mail, sorry for later reply.</P>
<P align=justify>I am also a beginner in programming PHP. The way I made the hyperlink work in query.phtml are in following code:</P>
<P align=justify></P>
<P align=justify>Job_no, Location, summary_2 and Siteplan are the attributes (columns) in shapefile I want to display. I put url as attribute value for Siteplan and summary_2. You can put the files (pdf,excel,--) in the URL under wwwroot in IIS or htdoc in Apache. When you click the "click to document", it hyberlink to the URL</P>
<P align=justify>Attached please find the code from Alberto Cavalli, who helps me solve the problem.</P>
<P align=justify></P>
<P align=justify>function formatQueryResults( $oResultSet, $aszLayers )</P>
<P align=justify>{</P>
<P align=justify>global $gaszWMSResults;</P>
<P align=justify></P>
<P align=justify>// initialize the variables</P>
<P align=justify>$szReturnValue = "";</P>
<P align=justify>$aszNoResults = array();</P>
<P align=justify></P>
<P align=justify>// loop through each result set and return</P>
<P align=justify>$nCount = $oResultSet-&gt;nNumResults;</P>
<P align=justify></P>
<P align=justify>for ( $i=0; $i&lt;$nCount; $i++ )</P>
<P align=justify>{</P>
<P align=justify></P>
<P align=justify>// process each result set</P>
<P align=justify>$aRows = $oResultSet-&gt;getResultSet( $i );</P>
<P align=justify></P>
<P align=justify>// check if single or multiple results were returned</P>
<P align=justify>if ( is_array( $aRows ) )</P>
<P align=justify>{</P>
<P align=justify>// build title rows</P>
<P align=justify>$szReturnValue .= "&lt;tr&gt;\n";</P>
<P align=justify>$szReturnValue .= "&lt;td&gt;\n";</P>
<P align=justify>$szReturnValue .= "&lt;table bgcolor=\"#999999\" width=\"100%\" border=\"0\" cellspacing=\"1\" cellpadding=\"2\"&gt;\n";</P>
<P align=justify>$szReturnValue .= "&lt;tr&gt;\n";</P>
<P align=justify>$szReturnValue .= "&lt;td colspan=".count($aRows[0])." bgcolor=\"C1D8E3\"&gt;&lt;font face=\"Arial, Helvetica, sans-serif\" size=\"2\"&gt;&lt;u&gt;&lt;b&gt;".$aszLayers[$i]."&lt;/b&gt;&lt;/u&gt;&lt;/font&gt;&lt;/td&gt;\n";</P>
<P align=justify>$szReturnValue .= "&lt;/tr&gt;\n";</P>
<P align=justify>$szReturnValue .= "&lt;tr&gt;\n";</P>
<P align=justify></P>
<P align=justify>// loop and use key for titles</P>
<P align=justify>foreach ($aRows[0] as $key =&gt; $value)</P>
<P align=justify>{</P>
<P align=justify>if (strcasecmp($key, "Job_no") == "Job_no" ||</P>
<P align=justify>strcasecmp($key, "Location") == "Location" ||</P>
<P align=justify>strcasecmp($key, "Summary_2") == "Summary_2" ||</P>
<P align=justify>strcasecmp($key, "Siteplan") == "Siteplan" )</P>
<P align=justify></P>
<P align=justify>$szReturnValue .= "&lt;td bgcolor=\"E2EFF5\"&gt;&lt;font face=\"Arial, Helvetica, sans-serif\" size=\"2\"&gt;".$key."&lt;/font&gt;&lt;/td&gt;\n";</P>
<P align=justify>}</P>
<P align=justify>$szReturnValue .= "&lt;/tr&gt;\n";</P>
<P align=justify></P>
<P align=justify>// loop through the results and format each row</P>
<P align=justify>foreach ( $aRows as $aRow )</P>
<P align=justify>{</P>
<P align=justify>// add a row for each</P>
<P align=justify>$szReturnValue .= "&lt;tr&gt;\n";</P>
<P align=justify></P>
<P align=justify>// loop and add a cell for each result</P>
<P align=justify>foreach ( $aRow as $key =&gt; $xCell )</P>
<P align=justify>{</P>
<P align=justify>//Look for the attribute value in column of Job_no, location, siteplan and //summary_2</P>
<P align=justify>if (strcasecmp($key, "Job_no") == "Job_no" ||</P>
<P align=justify>strcasecmp($key, "location") == "location" )</P>
<P align=justify>{$szReturnValue .= "&lt;td bgcolor=\"#ffffff\"&gt;&lt;font face=\"Arial, Helvetica, sans-serif\" size=\"2\"&gt;". $xCell."&lt;/font&gt;&lt;/td&gt;\n";}</P>
<P align=justify>else if (strcasecmp($key, "Siteplan") == "Siteplan" ||</P>
<P align=justify>strcasecmp($key, "Summary_2") == "Summary_2" )</P>
<P align=justify></P>
<P align=justify>//$xCell is the attribute value in URL format such as </FONT><A href="http://localhost/test/test.pdf"><FONT size=3>http://localhost/test/test.pdf</FONT></A></P><FONT size=3>
<P align=justify></P>
<P align=justify>{$szReturnValue .= "&lt;td bgcolor=\"#ffffff\"&gt; &lt;a href=\"".$xCell."\"&gt; Click here to document&lt;/a&gt;&lt;/td&gt;\n";}</P>
<P align=justify>}</P>
<P align=justify>$szReturnValue .= "&lt;/tr&gt;\n";</P>
<P align=justify>}</P>
<P align=justify></P>
<P align=justify></P>
<DIV></FONT>Hope it can give you a litle help.</DIV>
<DIV>&nbsp;</DIV>
<DIV>I have not used many time to learn php, the tutorial in <A href="http://www.php.net/">www.php.net</A> is enough.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Thank you !</DIV>
<DIV>&nbsp;</DIV>
<DIV>Charlie</DIV>
<DIV>&nbsp;</DIV>
<DIV>Code from Alberto</DIV>
<DIV>&nbsp;</DIV>
<DIV>Hi Charlie, 
<DIV><SPAN class=862552312-19082004><FONT face=Arial>the code is very simple and it is only a starting point for building a custom query:</FONT></SPAN></DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial>INFO, NUM_FOGLIO, NUM_PART, AREA, INFO_ID and ESPR1 are the fields of dbf of one layer.&nbsp;</FONT></SPAN></DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</DIV><FONT size=+0><SPAN class=862552312-19082004><I>
<P><FONT face=Arial><SPAN class=862552312-19082004>//</SPAN>loop and use key for titles##&nbsp;<SPAN class=862552312-19082004>field from dbf that you want to display when you make a query</SPAN></FONT></P>
<P></I><FONT face=Arial><B>foreach</B> (<B>$aRows</B>[0] <B>as</B> <B>$key</B> =&gt; <B>$value</B>)<BR>{<BR><B>if</B> (<B>strcasecmp</B>(<B>$key</B>, <I>"INFO"</I>) == <I>"INFO"</I> ||<BR><B>strcasecmp</B>(<B>$key</B>, <I>"NUM_FOGLIO"</I>) == <I>"NUM_FOGLIO"</I> ||<BR><B>strcasecmp</B>(<B>$key</B>, <I>"NUM_PART"</I>) == <I>"NUM_PART"</I> ||<BR><B>strcasecmp</B>(<B>$key</B>, <I>"AREA"</I>) == <I>"AREA"</I> )</FONT></P>
<P><SPAN class=862552312-19082004></SPAN><FONT face=Arial>T<SPAN class=862552312-19082004>his part of code generate the titels of field that appear when you make a query</SPAN><BR></FONT></P>
<P><I><FONT face=Arial></FONT></I>&nbsp;</P>
<P><FONT face=Arial><I>// loop and add a cell for each result##&nbsp;<SPAN class=862552312-19082004>field that you don't want to display when you make a query</SPAN><BR></I><B>foreach</B> ( <B>$aRow</B> <B>as</B> <B>$key</B> =&gt; <B>$xCell</B> )<BR>{<BR><B>if</B> (<B>strcasecmp</B>(<B>$key</B>, <I>"INFO_ID"</I>) == 0 ||<BR><B>strcasecmp</B>(<B>$key</B>, <I>"<SPAN class=862552312-19082004>ESPR1</SPAN>"</I>) == 0)</FONT></P>
<DIV><SPAN class=862552312-19082004><FONT face=Arial>This part of code remove the value of field thath you don't want to display</FONT></SPAN></DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial>use the same way to&nbsp;customize a query for multiple layer</FONT></SPAN></DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial>for example:</FONT></SPAN></DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial>first layer dbf: 3 field (id, area perimeter)</FONT></SPAN></DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial>second layer dbf: 2 layer (name, dimension)</FONT></SPAN></DIV>
<DIV><FONT face=Arial><SPAN class=862552312-19082004>If you want to display only id, area and dimension use </SPAN><SPAN class=862552312-19082004>this is the code</SPAN></FONT></DIV>
<DIV><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</DIV>
<DIV><SPAN class=862552312-19082004><I>
<P><FONT face=Arial>// loop and use key for titles## CAMPI DA INCLUDERE<BR></FONT></I><FONT face=Arial><B>foreach</B> (<B>$aRows</B>[0] <B>as</B> <B>$key</B> =&gt; <B>$value</B>)<BR>{<BR><B>if</B> (<B>strcasecmp</B>(<B>$key</B>, <I>"I<SPAN class=862552312-19082004>D</SPAN>"</I>) == <I>"I<SPAN class=862552312-19082004>D</SPAN>"</I> ||<BR><B>strcasecmp</B>(<B>$key</B>, <I>"<SPAN class=862552312-19082004>AREA</SPAN>"</I>) == <I>"<SPAN class=862552312-19082004>AREA</SPAN>"</I> ||<BR><B>strcasecmp</B>(<B>$key</B>, <I>"<SPAN class=862552312-19082004>DIMENSION</SPAN>"</I>) == <I>"<SPAN class=862552312-19082004>DIMENSION</SPAN>"</I> )<BR><BR><B>$szReturnValue</B> .= <I>"&lt;td bgcolor=\"E2EFF5\"&gt;&lt;font face=\"Arial, Helvetica, sans-serif\" size=\"2\"&gt;"</I>.<B>$key</B>.<I>"&lt;/font&gt;&lt;/td&gt;\n"</I>;<BR>}<BR><B>$szReturnValue</B> .= <I>"&lt;/tr&gt;\n"</I>;<BR><BR></FONT><FONT face=Arial><I>// loop through the results and format each row<BR></I><B>foreach</B> ( <B>$aRows</B>
 <B>as</B> <B>$aRow</B> )<BR>{<BR></FONT><FONT face=Arial><I>// add a row for each<BR></I><B>$szReturnValue</B> .= <I>"&lt;/tr&gt;\n"</I>;<BR><BR></FONT><FONT face=Arial><I>// loop and add a cell for each result## CAMPI DA ESCLUDERE<BR></I><B>foreach</B> ( <B>$aRow</B> <B>as</B> <B>$key</B> =&gt; <B>$xCell</B> )<BR>{<BR><B>if</B> (<B>strcasecmp</B>(<B>$key</B>, <I>"<SPAN class=862552312-19082004>NAME</SPAN>"</I>) == 0 ||<BR><B>strcasecmp</B>(<B>$key</B>, <I>"PERIMETER"</I>) == 0)<BR><B>continue</B>;<BR><B>$szReturnValue</B> .= <I>"&lt;td bgcolor=\"E2EFF5\"&gt;&lt;font face=\"Arial, Helvetica, sans-serif\" size=\"2\"&gt;"</I>.<B>$xCell</B>.<I>"&lt;/font&gt;&lt;/td&gt;\n"</I>;<BR>}<BR><BR><B>$szReturnValue</B> .= <I>"&lt;/tr&gt;\n"</I>;<BR>}</FONT><BR><BR><SPAN class=862552312-19082004><FONT face=Arial>Very important: be careful, use the righr sequency of field!!!!!!!!</FONT></SPAN></P>
<P><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</P>
<P><SPAN class=862552312-19082004><FONT face=Arial></FONT></SPAN>&nbsp;</P>
<P><SPAN class=862552312-19082004><FONT face=Arial>Have a good work</FONT></SPAN></P>
<P><FONT size=1><SPAN class=862552312-19082004><FONT face=Arial size=3>Alberto</FONT></SPAN></P></FONT></SPAN></DIV>
<DIV><FONT color=#008000 size=1></FONT>&nbsp;</DIV>
<DIV></SPAN></FONT><SPAN class=862552312-19082004><FONT color=#008000 size=1></FONT></SPAN>&nbsp;</DIV><BR><BR><B><I>kgrootendorst@baird.com</I></B> wrote:</DIV>
<BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid"><BR><FONT face=sans-serif size=2>Hi Charlie,</FONT> <BR><FONT face=sans-serif size=2>I too am attempting to modify the query.phtml file in order to support 'hot linking' of jpeg photos.</FONT> <BR><FONT face=sans-serif size=2>Have you had any success at this? &nbsp;</FONT> <BR><FONT face=sans-serif size=2>Could you point me towards any references you may have used in order to accomplish this task?</FONT> <BR><FONT face=sans-serif size=2>Does anyone know of any good beginner php programming websites?</FONT> <BR><BR><FONT face=sans-serif size=2>Thanks,</FONT> <BR><BR><FONT face=sans-serif size=2>Kevin</FONT></BLOCKQUOTE></DIV></DIV><p><br><hr size=1>Post your free ad now! <a href="http://ca.personals.yahoo.com/"><b>Yahoo! Canada Personals</b></a><br>