[FX.php List] Help needed to rewrite old FMP tags to PHP ( to
achieve different table rows color )
Dale Bengston
dbengston at preservationstudio.com
Tue Mar 29 15:46:48 MST 2005
Or, set a counter before the foreach and use modulo to alternate the
row color. Pseudocode...
$counter = 0;
foreach ($result['data'] as $key => $value)
{
[...]
if ($counter % 2 == 0)
{
$rowColor = '#FFFFFF';
}
else
{
$rowColor = '#EEEEEE';
}
<tr bgcolor="<?php echo $rowColor;?>">
[...]
This same technique could also be used to generate different CSS
classes as opposed to hard-wired colors.
Dale
On Mar 29, 2005, at 4:27 PM, Kevin Futter wrote:
> An even better approach would be for PHP to write class names into the
> HTML,
> and then style them with CSS. CSS has tools that outdream anything
> that HTML
> could ever do.
>
> Eg: <tr <? if($i%2==1){echo "class=\"odd\"";}else{ echo
> "class=\"even\"";}
> ?>>
>
> On 30/3/05 1:46 AM, "DC" <dan.cynosure at dbmscan.com> wrote:
>
>> yes. it should work in principle, but there are grave limitations to
>> this approach and there are errors in your foreach loop. it also looks
>> like you can use short tags in your PHP installation (<??> as opposed
>> to
>> long tags <?php?>) Short tags are fine if your server supports them.
>>
>> the main problem is that your approach only gives you 10 rows! 2nd
>> problem is your foreach has a table tag INSIDE the loop. CDML is such
>> a
>> limiting language that you have to realize that PHP has tools that
>> outdream anything that CDML could ever do - so you have to reorganize
>> your approach.
>>
>> try this instead (uses modulo operator to deal with odd/even):
>>
>> <table width="100%" border="0" cellpadding="2"cellspacing="0">
>> <? $searchResult['data']=array(1,2,3,4,5); //dummy array ?>
>> <? $i=1; ?>
>> <? foreach($searchResult['data'] as $key=>$searchData){ ?>
>> <tr bgcolor="<? if($i%2==1){echo "#DDDDDD";}else{ echo "#AAAAAA";}
>> ?>">
>> <td><? echo $value['recid'][0]; ?>
>> <td><? echo $searchData['recid'][0]; ?></td>
>> <td><? echo $searchData['Headline'][0]; ?></td>
>> <td><? echo $searchData['category'][0]; ?></td>
>> </tr>
>> <? $i++; ?>
>> <? } ?>
>> </table>
>>
>> Another approach if you have not moved to FMP 7 yet is simply to call
>> your CDML pages from PHP like this:
>>
>> <? file_get_contents("http://domain.com/old_fmp_cdml_query_here"); ?>
>>
>> You may have to tweak the CDML so that it doesn't return head or body
>> tags but that lets you keep the CDML intact as you migrate to PHP.
>>
>> As you may know, FMP7 dropped support for CDML.
>>
>> HTH,
>> dan
>
>
> --
> Kevin Futter
> Webmaster, St. Bernard's College
> http://www.sbc.melb.catholic.edu.au/
>
>
>
> _______________________________________________
> FX.php_List mailing list
> FX.php_List at mail.iviking.org
> http://www.iviking.org/mailman/listinfo/fx.php_list
>
More information about the FX.php_List
mailing list