Drop-down filter menu
Moderator: General Moderators
-
phpflixnewbie
- Forum Contributor
- Posts: 132
- Joined: Fri Nov 17, 2006 11:46 am
- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
-
phpflixnewbie
- Forum Contributor
- Posts: 132
- Joined: Fri Nov 17, 2006 11:46 am
not sure how to loop multiple arrays is it simply:
Code: Select all
foreach ($rlsdate, $avgrating, $genre)-
phpflixnewbie
- Forum Contributor
- Posts: 132
- Joined: Fri Nov 17, 2006 11:46 am
So:
Code: Select all
foreach ($rlsdate, $avgrating, $genre as $arrayresults)You'll need to loop on each one separately, ie:
Code: Select all
foreach($rlsdate as $dateItem) {
// do stuff with $dateItem here
}
foreach($avgrating as $ratingItem) {
// do stuff with $ratingItem here
}
foreach($genre as $genreItem) {
// do stuff with $genreItem here
}- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
-
phpflixnewbie
- Forum Contributor
- Posts: 132
- Joined: Fri Nov 17, 2006 11:46 am
OK so far we have the following code. But I dont know what im supposed to do in the foreach loops.
Code: Select all
<?php
$rlsdate = array('last30', 'last60', 'last90', 'last6mth', 'lastyr', 'overayr');
$avgrating = array('4ormore', '3ormore', '2ormore', '1ormore');
$genre = array('action', 'animation', 'kids', 'comedy', 'docu', 'drama', 'horror', 'musical', 'scifi', 'thriller');
foreach($rlsdate as $date) {
}
foreach($avgrating as $arating) {
}
foreach($genre as $genreItem) {
}
?>- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
You're supposed to echo the value of each member of the array as a select menu option.
That was pseudo code, to give you an idea of what we are talking about.
Code: Select all
<?php
foreach ($array as $value) {
echo '<p>' . $value . '</p>';
}
?>-
phpflixnewbie
- Forum Contributor
- Posts: 132
- Joined: Fri Nov 17, 2006 11:46 am
OK makes sense now, thx for the tip feyd, but I'd like to keep things as simple as possible for now, once i've grasped the basics and got the code working I could perhaps look into functions like implode which will make the code more efficient. Heres my attempt at echoing the form menus:
Code: Select all
<?php
$rlsdate = array('last30', 'last60', 'last90', 'last6mth', 'lastyr', 'overayr');
$avgrating = array('4ormore', '3ormore', '2ormore', '1ormore');
$genre = array('action', 'animation', 'kids', 'comedy', 'docu', 'drama', 'horror', 'musical', 'scifi', 'thriller');
echo '<select name="genre">';
foreach($rlsdate as $date) {
echo '<option value=' . $date . '</option>';
}
echo '</select>';
echo '<select name="avgrating">';
foreach($avgrating as $arating) {
echo '<option value=' . $arating . '</option>';
}
echo '</select>';
echo '<select name="genre">';
foreach($genre as $genreItem) {
echo '<option value=' . $genreitem . '</option>';
}
echo '</select>';
?>
- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
-
phpflixnewbie
- Forum Contributor
- Posts: 132
- Joined: Fri Nov 17, 2006 11:46 am
- RobertGonzalez
- Site Administrator
- Posts: 14293
- Joined: Tue Sep 09, 2003 6:04 pm
- Location: Fremont, CA, USA
-
phpflixnewbie
- Forum Contributor
- Posts: 132
- Joined: Fri Nov 17, 2006 11:46 am
Was'nt sure if this is what you meant, but Ive included the output source that it produces:
PHP:
Prodcues:
PHP:
Code: Select all
<?php
$rlsdate = array('last30', 'last60', 'last90', 'last6mth', 'lastyr', 'overayr');
$avgrating = array('4ormore', '3ormore', '2ormore', '1ormore');
$genre = array('action', 'animation', 'kids', 'comedy', 'docu', 'drama', 'horror', 'musical', 'scifi', 'thriller');
echo '<form>';
echo '<select name="genre">';
foreach($rlsdate as $date) {
echo '<option value=' . $date . '</option>';
}
echo '</select>';
echo '<select name="avgrating">';
foreach($avgrating as $arating) {
echo '<option value=' . $arating . '</option>';
}
echo '</select>';
echo '<select name="genre">';
foreach($genre as $genreItem) {
echo '<option value=' . $genreItem . '</option>';
}
echo '</select>';
echo '</form>';
?>Prodcues:
Code: Select all
<form><select name="genre"><option value=last30</option><option value=last60</option><option value=last90</option><option value=last6mth</option><option value=lastyr</option><option value=overayr</option></select><select name="avgrating"><option value=4ormore</option><option value=3ormore</option><option value=2ormore</option><option value=1ormore</option></select><select name="genre"><option value=action</option><option value=animation</option><option value=kids</option><option value=comedy</option><option value=docu</option><option value=drama</option><option value=horror</option><option value=musical</option><option value=scifi</option><option value=thriller</option></select></form>