close ad
 
Important WebAssist Announcement
open ad
View Menu

Technical Support Forums

Free, outstanding support from WebAssist and your colleagues

rating

repeat region fails

Thread begun 8/31/2015 8:45 am by Sweens | Last modified 9/02/2015 11:24 am by Ray Borduin | 2659 views | 9 replies |

Sweens

repeat region fails

Hi

I'm having an issue with applying a repeat region;

The following works fine (a calculated unix_timestamp, with the current year and birth month and day, so that this year's day can be displayed).

<p><?php echo strftime("%a %e %b", $rsBirthdays->getColumnVal("cbirth")); ?> - <?php echo($rsBirthdays->getColumnVal("FirstName")); ?> <?php echo($rsBirthdays->getColumnVal("Surname")); ?></p>

Showing the first record properly.

However, as soon as I apply the repeat region:

<?php
while(!$rsBirthdays->atEnd()) {
?>
<p><?php echo strftime("%a %e %b", $rsBirthdays->getColumnVal("cbirth")); ?> - <?php echo($rsBirthdays->getColumnVal("FirstName")); ?> <?php echo($rsBirthdays->getColumnVal("Surname")); ?></p>
<?php
$rsBirthdays->moveNext();
}
$rsBirthdays->moveFirst(); //return RS to first record
?>

the region repeats, but I get the following error where the date should be displayed:

Warning: strftime() expects parameter 2 to be long, string given in /home/sites/domainname.org/public_html/admin/sites/members/birthdays.php on line 77 - (members name here)

Hope there's a simple solution!

(I should add that I have a similar 'events' page where everything works fine - but I can't see any differences!)

Many thanks
Chris

Sign in to reply to this post

Ray BorduinWebAssist

Try using: <?php echo strftime("%a %e %b", strtotime($rsBirthdays->getColumnVal("cbirth"))); ?>

Sign in to reply to this post
Did this help? Tips are appreciated...

Sweens

Thanks Ray - the repeat region now works, but all the dates have defaulted to Jan 1 1970 (the first unix_timestamp date)!

Cheers
Chris

Sign in to reply to this post

Ray BorduinWebAssist

What format are you using in the cbirth field? If you add it to the page like this: <?php echo $rsBirthdays->getColumnVal("cbirth"); ?>

Sign in to reply to this post
Did this help? Tips are appreciated...

Sweens

HI Ray

The mysql_i query is:

<?php
$rsBirthdays = new WA_MySQLi_RS("rsBirthdays",$connRoSite_i,0);
$rsBirthdays->setQuery("SELECT `members`.`MemID`, `members`.`FirstName`, `members`.`Surname`, `members`.`MemPic`, `members`.`Active`, day(DOB) AS bday, month(DOB) AS bmonth, UNIX_TIMESTAMP(STR_TO_DATE(CONCAT(year(Curdate()), '-',month(DOB),'-',day(DOB),'00:00:00'), '%%Y-%%m-%%d')) AS cbirth FROM members WHERE SiteID= ? AND (DOB is not null ) ORDER BY bmonth, bday, Surname");
$rsBirthdays->bindParam("i", "".$_SESSION['SiteID'] ."", "-1"); //p1
$rsBirthdays->execute();
?>

HTH

Cheers
Chris

Sign in to reply to this post

Sweens

Hi Ray

Sussed it!

The MySQLi behaviour (the same as its predecessor) puts %% in the code, which the mysql_I behaviour doesn't like!

Change the %% to % and everything works fine.

I should have remembered this, as I've come across it several times.

Thanks for your help

Cheers
Chris

Sign in to reply to this post

Sweens

Hmmnnn - not quite so simple, unfortunately (though that did work).

I've attached a screenshot showing what should happen- currently, there are 3 different recordsets, the third is meant to be a union of the first 2, but it isn't repeating.

The union recordset works when I try it in Navicat,

(BTW - if I was starting this from scratch, I wouldn't have 2 different methods of storing the birthday details - but I did this several years ago when I knew even less than I know now! 1 site type has the DOB, others don't need to record the year of birth)

Cheers
Chris

Sign in to reply to this post

Sweens

Hi Ray

I tried removing the variables completely and entering test values instead, but the repeat region still doesn't work.

I'm wondering if there's some incompatibility between the union query and the repeat behaviour (clutching at straws!)

BTW - when I tried to use only p1 as the Session value for each part of the union query, I received the following error:

Number of variables doesn't match number of parameters in prepared statement in home/sites/domainname.org/public_html/webassist/mysqli/rsobj.php on line 160

Using the same Session value as p1 and p2 fixed this.

If all else fails, I can use the 2 separate recordsets and 'show if', but I'd rather just uses the combined one to save resources, if pos.

many thanks
Cheers
Chris

Sign in to reply to this post

Ray BorduinWebAssist

I think I'd have to debug this in a premier support ticket at this point. I'm really not sure why it wouldn't work.

Sign in to reply to this post
Did this help? Tips are appreciated...

Sweens

Hi Ray

Thanks anyway - I an't justify spending the money on a premier ticket - I'll use 2 recordsets and a 'show if'.

Thank again

Cheers
Chris

Sign in to reply to this post
loading

Build websites with a little help from your friends

Your friends over here at WebAssist! These Dreamweaver extensions will assist you in building unlimited, custom websites.

Build websites from already-built web applications

These out-of-the-box solutions provide you proven, tested applications that can be up and running now.  Build a store, a gallery, or a web-based email solution.

Want your website pre-built and hosted?

Close Windowclose

Rate your experience or provide feedback on this page

Account or customer service questions?
Please user our contact form.

Need technical support?
Please visit support to ask a question

Content

rating

Layout

rating

Ease of use

rating

security code refresh image

We do not respond to comments submitted from this page directly, but we do read and analyze any feedback and will use it to help make your experience better in the future.

Close Windowclose

We were unable to retrieve the attached file

Close Windowclose

Attach and remove files

add attachmentAdd attachment
Close Windowclose

Enter the URL you would like to link to in your post

Close Windowclose

This is how you use right click RTF editing

Enable right click RTF editing option allows you to add html markup into your tutorial such as images, bulleted lists, files and more...

-- click to close --

Uploading file...