Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

foreach question

Posted on 2006-11-10
6
Medium Priority
?
305 Views
Last Modified: 2006-11-18

Hello Group,

I'm working on my first PHP code and will appreciate if someobody could give me some help.

I have:

$strDays = array (       '','1st', '2nd', '3rd' ,'4th', '5th' , '6th', '7th', '8th', '9th', '10th',
                                      '11th', '12th', '13th' ,'14th', '15th' , '16th', '17th', '18th', '19th', '20th',
                                      '21st', '22nd', '23rd' ,'24th', '25th' , '26th', '27th', '28th', '29th', '30th',
                                      '31st'
                                    );
<? foreach ($strDays as $valDay){ ?>
<option selected><? echo $valDay; ?> </option>
<? } ?>

to populate a drop-down menu by days of month. Then I use it for the 2nd time for a 2nd drop-down menu and it points to 31th day. How  can I reset it back to 1th or first element of the array?

Thanks,
A

0
Comment
Question by:akohan
  • 3
  • 2
6 Comments
 
LVL 9

Accepted Solution

by:
tolgaong earned 200 total points
ID: 17916978
<html>
<body>
<?php
$strDays = array (      '','1st', '2nd', '3rd' ,'4th', '5th' , '6th', '7th', '8th', '9th', '10th',
                                '11th', '12th', '13th' ,'14th', '15th' , '16th', '17th', '18th', '19th', '20th',
                                '21st', '22nd', '23rd' ,'24th', '25th' , '26th', '27th', '28th', '29th', '30th',
                                '31st'
                              );
?>
<select name="yourdates">                                           
<?php foreach ($strDays as $key=>$valDay){ ?>
<option <?php if ($key==1) echo "selected"?> ><?php echo $valDay; ?> </option>

<?php
 }
?>
</select></body></html>
0
 

Author Comment

by:akohan
ID: 17917148

Hello,

Thanks but this is not what I had asked for. How can I reset the variable?

0
 
LVL 19

Expert Comment

by:VoteyDisciple
ID: 17917294
That actually is what you asked for; the only reason the dropdown comes up with 31 selected is because of the "selected" attribute in each of those <option> tags.

The way tolgaong wrote it, the 1st day will be selected.

No part of your code requires any "reset"; foreach doesn't work the same as next() and current() and all those where it's up to you to maintain the internal array pointer.
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 

Author Comment

by:akohan
ID: 17917522

Sorry my bad but I'm using same code for different item but don't have such a problem! can you give me insight into this?

0
 
LVL 19

Expert Comment

by:VoteyDisciple
ID: 17917549
Is it possible the other <select> is overriden by something client-side (perhaps Javascript, or perhaps even your browser filling in a known form value like "date of birth" or you or something)?

Apart from that, if it's identical code it should be behaving identically.
0
 

Author Comment

by:akohan
ID: 17917565

Oh I see. Now I get it. I hadn't used "selected" in my previous code. Once again thanks both of you.

0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

3 proven steps to speed up Magento powered sites. The article focus is on optimizing time to first byte (TTFB), full page caching and configuring server for optimal performance.
Originally, this post was published on Monitis Blog, you can check it here . In business circles, we sometimes hear that today is the “age of the customer.” And so it is. Thanks to the enormous advances over the past few years in consumer techno…
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to count occurrences of each item in an array.
Suggested Courses

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question