Jump to content

Recommended Posts

Hi, i'm gonna try to explain my problem with as few words as possible.

 

I have recently started this website: http://www.randommovietitle.com

 

As you can see on the first page you can select a range of years and a number of genres from the Genre selection box. You can select 1, 2 or 3 genres and then click random. When you click random, a random movie should appear ONLY if it has ALL the genres you selected. Let me give you an example:

 

You select Action and Comedy and click random. Only movies that has BOTH Action and Comedy will show up. (same thing if you select 3 genres ofcourse)

 

 

 

The problem is that with the code I have now it isn't working! When I select, for example Drama and Sci-Fi. Every movie in the database that has Drama will show up, and every movie that has Sci-Fi will show up. What I need is so that only movies that has BOTH Drama and Sci-Fi appears.

 

I'm not good AT ALL with php, I only know the very basic stuff. I got the code from a guy who was willing to help me at first but then coudn't do it anymore. I've been trying to change the code by myself for the past 3 days but got nowhere, only got more confused!

 

The code below is ALL the code that has to do with the genre selection!

 

This is the first page code:

<form class="main_form" action="movies.php" method="post" name="form1">
	<input class="random_btn" name="next_btn" value="Random" type="submit" onclick="return validate()" /><br />

	<div class="index_bgbox">

  		<label class="genre_label" value="genre">Genre</label><br />
        	<select multiple="multiple" name="genre[]" id="genre" size="7">
            	<option value="1">2D Animation</option>
                <option value="2">3D Animation</option>
                <option value="3">Action</option>
                <option value="4">Adventure</option>
                <option value="5">Animals</option>
                <option value="6">Comedy</option>
                <option value="7">Comics Adaptation</option>
                <option value="8">Crime</option>
                <option value="9">Dance</option>
                <option value="10">Disaster</option>
                <option value="11">Documentary</option>
                <option value="12">Drama</option>
                <option value="13">Family</option>
                <option value="14">Fantasy</option>
                <option value="15">Fighting</option>
                <option value="16">Game Adaptation</option>
                <option value="17">History</option>
                <option value="18">Horror</option>
                <option value="19">Thriller</option>
                <option value="20">Romance</option>
                <option value="21">Music</option>
                <option value="22">Mystery</option>
                <option value="23">Parody</option>
                <option value="24">Psychological</option>
                <option value="25">Sci-Fi</option>
                <option value="26">Sport</option>
                <option value="27">Teen</option>
                <option value="28">War</option>
                <option value="29">Western</option>
            </select>
            <label class="year_label" value="YearForm">Year</label><br />
            <select class="year_from" name="YearFrom">
          	<option value="">Select From</option>
          	<option value="1970">1970</option>
          	<option value="1971">1971</option>
          	<option value="1972">1972</option>
          	<option value="1973">1973</option>
          	<option value="1974">1974</option>
          	<option value="1975">1975</option>
          	<option value="1976">1976</option>
          	<option value="1977">1977</option>
          	<option value="1978">1978</option>
          	<option value="1979">1979</option>
          	<option value="1980">1980</option>
          	<option value="1981">1981</option>
          	<option value="1982">1982</option>
          	<option value="1983">1983</option>
          	<option value="1984">1984</option>
          	<option value="1985">1985</option>
          	<option value="1986">1986</option>
          	<option value="1987">1987</option>
          	<option value="1988">1988</option>
          	<option value="1989">1989</option>
          	<option value="1990">1990</option>
          	<option value="1991">1991</option>
          	<option value="1992">1992</option>
          	<option value="1993">1993</option>
          	<option value="1994">1994</option>
          	<option value="1995">1995</option>
          	<option value="1996">1996</option>
          	<option value="1997">1997</option>
          	<option value="1998">1998</option>
          	<option value="1999">1999</option>
          	<option value="2000">2000</option>
          	<option value="2001">2001</option>
          	<option value="2002">2002</option>
          	<option value="2003">2003</option>
          	<option value="2004">2004</option>
          	<option value="2005">2005</option>
          	<option value="2006">2006</option>
          	<option value="2007">2007</option>
          	<option value="2008">2008</option>
          	<option value="2009">2009</option>
          	<option value="2010">2010</option>
          	<option value="2011">2011</option>             
            </select>
          <select class="year_to" name="YearTo">
          	<option value="">Select To</option>
          	<option value="1970">1970</option>
          	<option value="1971">1971</option>
          	<option value="1972">1972</option>
          	<option value="1973">1973</option>
          	<option value="1974">1974</option>
          	<option value="1975">1975</option>
          	<option value="1976">1976</option>
          	<option value="1977">1977</option>
          	<option value="1978">1978</option>
          	<option value="1979">1979</option>
          	<option value="1980">1980</option>
          	<option value="1981">1981</option>
          	<option value="1982">1982</option>
          	<option value="1983">1983</option>
          	<option value="1984">1984</option>
          	<option value="1985">1985</option>
          	<option value="1986">1986</option>
          	<option value="1987">1987</option>
          	<option value="1988">1988</option>
          	<option value="1989">1989</option>
          	<option value="1990">1990</option>
          	<option value="1991">1991</option>
          	<option value="1992">1992</option>
          	<option value="1993">1993</option>
          	<option value="1994">1994</option>
          	<option value="1995">1995</option>
          	<option value="1996">1996</option>
          	<option value="1997">1997</option>
          	<option value="1998">1998</option>
          	<option value="1999">1999</option>
          	<option value="2000">2000</option>
          	<option value="2001">2001</option>
          	<option value="2002">2002</option>
          	<option value="2003">2003</option>
          	<option value="2004">2004</option>
          	<option value="2005">2005</option>
          	<option value="2006">2006</option>
          	<option value="2007">2007</option>
          	<option value="2008">2008</option>
          	<option value="2009">2009</option>
          	<option value="2010">2010</option>
          	<option value="2011">2011</option>
          </select>
          
          </div>
          <?php include("Includes/footer.php"); ?>
          
</form>

 

Movie pages code:

<?php 
require("Includes/connection.php");
$connection = @mysql_connect($ControlHost, $ControlUser, $ControlPass) 	or die("Couldn't connect to server");
$db = @mysql_select_db("$ControlDb", $connection) 	or die("Couldn't select database");

$genre_string="";
//$genre_string1="";
if(empty($_REQUEST['genreString1'])){
	if(!empty($_REQUEST['genre'])){
		$genre=$_REQUEST['genre'];
		$total_genre=count($genre);

		$genre_string1="";
		for($i=0; $i<$total_genre;$i++){
			$genre_string .= "Genree LIKE '%" . $genre[$i] . '%' . "'". " OR ";
			$genre_string1 .= $genre[$i] . " OR ";
		}
		$genre_string = substr($genre_string, 0, -4);
		$genre_string1 = substr($genre_string1, 0, -4);
		$genre_string = "WHERE" . "(" . $genre_string . ")";
	}
	if( !empty($_REQUEST['YearFrom']) ){
		$YearFrom = $_REQUEST['YearFrom'];
		$YearTo = $_REQUEST['YearTo'];
		if(!empty($_REQUEST['genre'])) $genre_string .= " AND "; else $genre_string .= "Where ";
		$genre_string .= "(YearFrom BETWEEN $YearFrom AND $YearTo)";
	}
}elseif(!empty($_REQUEST['genreString1'])){
	$genre_string1 = $_REQUEST['genreString1'];
	$pieces = explode(" OR ", $genre_string1);
	for($ii=0; $ii<count($pieces);$ii++){
		$genre_string .= "Genree LIKE '%" . trim($pieces[$ii]) . '%' . "'" . " OR ";
		$genre[]=trim($pieces[$ii]);
	}
	$genre_string = substr($genre_string, 0, -4);
	if( !is_numeric(trim($pieces[0]))) $genre_string = ""; else $genre_string = "WHERE" . "(" . $genre_string . ")";
	if( !empty($_REQUEST['YearFrom']) ){//echo "111";
		$YearFrom = $_REQUEST['YearFrom'];
		$YearTo = $_REQUEST['YearTo'];
		if( is_numeric(trim($pieces[0]))) $genre_string .= " AND (YearFrom BETWEEN $YearFrom AND $YearTo)";
		if( !is_numeric(trim($pieces[0]))) $genre_string = " Where (YearFrom BETWEEN $YearFrom AND $YearTo)";
	}

}//echo $genre_string;
//echo "SELECT * FROM movie $genre_string ORDER BY RAND() LIMIT 0,1<br />";
$result = mysql_query("SELECT * FROM movie $genre_string ORDER BY RAND() LIMIT 0,1");
//echo $er=mysql_num_rows($result);exit;
$row = mysql_fetch_array($result);
$MID = $row["MID"];
$Title = $row["Title"];
$YearFrom = $row["YearFrom"];
$RMTRating = $row["RMTRating"];
$IMDBRating = $row["IMDBRating"];
$Description = $row["Description"];
$Genree = $row["Genree"];
$Genree = explode(",", $Genree);
$Poster = $row["Poster"];
$TrailerLink = $row["TrailerLink"];
$MoreInfo = $row["MoreInfo"];

?>

            <table class="genrebox" border="0">
              <tr>
                <td width="72"><b>Genres:</b> </td>
                <td width="170">
				<?php
					if( !empty($Genree[1])  ){
						if($Genree[1] == "1") echo "2D Animation";
						elseif($Genree[1] == "2") echo "3D Animation";
						elseif($Genree[1] == "3") echo "Action";
						elseif($Genree[1] == "4") echo "Adventure";
						elseif($Genree[1] == "5") echo "Animals";
						elseif($Genree[1] == "6") echo "Comedy";
						elseif($Genree[1] == "7") echo "Comics Adaptation";
						elseif($Genree[1] == "8") echo "Crime";
						elseif($Genree[1] == "9") echo "Dance";
						elseif($Genree[1] == "10") echo "Disaster";
						elseif($Genree[1] == "11") echo "Documentary";
						elseif($Genree[1] == "12") echo "Drama";
						elseif($Genree[1] == "13") echo "Family";
						elseif($Genree[1] == "14") echo "Fantasy";
						elseif($Genree[1] == "15") echo "Fighting";
						elseif($Genree[1] == "16") echo "Game Adaptation";
						elseif($Genree[1] == "17") echo "History";
						elseif($Genree[1] == "18") echo "Horror";
						elseif($Genree[1] == "19") echo "Thriller";
						elseif($Genree[1] == "20") echo "Romance";
						elseif($Genree[1] == "21") echo "Music";
						elseif($Genree[1] == "22") echo "Mystery";
						elseif($Genree[1] == "23") echo "Parody";
						elseif($Genree[1] == "24") echo "Psychological";
						elseif($Genree[1] == "25") echo "Sci-Fi";
						elseif($Genree[1] == "26") echo "Sport";
						elseif($Genree[1] == "27") echo "Teen";
						elseif($Genree[1] == "28") echo "War";
						elseif($Genree[1] == "29") echo "Western";
						}
				?>
                </td><br />
                <td width="170"><?php 
					if( !empty($Genree[2])  ){
						if($Genree[2] == "1") echo "2D Animation";
						elseif($Genree[2] == "2") echo "3D Animation";
						elseif($Genree[2] == "3") echo "Action";
						elseif($Genree[2] == "4") echo "Adventure";
						elseif($Genree[2] == "5") echo "Animals";
						elseif($Genree[2] == "6") echo "Comedy";
						elseif($Genree[2] == "7") echo "Comics Adaptation";
						elseif($Genree[2] == "8") echo "Crime";
						elseif($Genree[2] == "9") echo "Dance";
						elseif($Genree[2] == "10") echo "Disaster";
						elseif($Genree[2] == "11") echo "Documentary";
						elseif($Genree[2] == "12") echo "Drama";
						elseif($Genree[2] == "13") echo "Family";
						elseif($Genree[2] == "14") echo "Fantasy";
						elseif($Genree[2] == "15") echo "Fighting";
						elseif($Genree[2] == "16") echo "Game Adaptation";
						elseif($Genree[2] == "17") echo "History";
						elseif($Genree[2] == "18") echo "Horror";
						elseif($Genree[2] == "19") echo "Thriller";
						elseif($Genree[2] == "20") echo "Romance";
						elseif($Genree[2] == "21") echo "Music";
						elseif($Genree[2] == "22") echo "Mystery";
						elseif($Genree[2] == "23") echo "Parody";
						elseif($Genree[2] == "24") echo "Psychological";
						elseif($Genree[2] == "25") echo "Sci-Fi";
						elseif($Genree[2] == "26") echo "Sport";
						elseif($Genree[2] == "27") echo "Teen";
						elseif($Genree[2] == "28") echo "War";
						elseif($Genree[2] == "29") echo "Western";
						}
				?></td>
                <td width="170"><?php 
					if( !empty($Genree[3])  ){
						if($Genree[3] == "1") echo "2D Animation";
						elseif($Genree[3] == "2") echo "3D Animation";
						elseif($Genree[3] == "3") echo "Action";
						elseif($Genree[3] == "4") echo "Adventure";
						elseif($Genree[3] == "5") echo "Animals";
						elseif($Genree[3] == "6") echo "Comedy";
						elseif($Genree[3] == "7") echo "Comics Adaptation";
						elseif($Genree[3] == "8") echo "Crime";
						elseif($Genree[3] == "9") echo "Dance";
						elseif($Genree[3] == "10") echo "Disaster";
						elseif($Genree[3] == "11") echo "Documentary";
						elseif($Genree[3] == "12") echo "Drama";
						elseif($Genree[3] == "13") echo "Family";
						elseif($Genree[3] == "14") echo "Fantasy";
						elseif($Genree[3] == "15") echo "Fighting";
						elseif($Genree[3] == "16") echo "Game Adaptation";
						elseif($Genree[3] == "17") echo "History";
						elseif($Genree[3] == "18") echo "Horror";
						elseif($Genree[3] == "19") echo "Thriller";
						elseif($Genree[3] == "20") echo "Romance";
						elseif($Genree[3] == "21") echo "Music";
						elseif($Genree[3] == "22") echo "Mystery";
						elseif($Genree[3] == "23") echo "Parody";
						elseif($Genree[3] == "24") echo "Psychological";
						elseif($Genree[3] == "25") echo "Sci-Fi";
						elseif($Genree[3] == "26") echo "Sport";
						elseif($Genree[3] == "27") echo "Teen";
						elseif($Genree[3] == "28") echo "War";
						elseif($Genree[3] == "29") echo "Western";
						}
				?></td>
              </tr>
            </table>
        </div>
        <?php } ?>
        <a id="various4" href="Includes/trailer.php?MID=<?php echo $MID;?>" class="trailer_btn" name="trailer_btn">Watch Trailer</a>
      <form action="movies.php" name="form1" method="post">
      <input class="next_btn" name="next_btn" value="Randomize Again" type="submit" />
          <input name="genreString1" value="<?php echo $genre_string1; ?>" type="hidden" />
          <input name="YearTo" value="<?php echo $_REQUEST['YearTo']; ?>" type="hidden" />
          <input name="YearFrom" value="<?php echo $_REQUEST['YearFrom']; ?>" type="hidden" />
      </form>

Link to comment
https://forums.phpfreaks.com/topic/238193-help-with-randomization/
Share on other sites

Honestly, given your last post, you should have someone else work on your PHP script. You have to submit the form for it to go through. This is PHP help, not PHP do it for you. You can probably get someone here to do it for like $10. Its an easy fix, but hard to explain. Not me, though. I'm at work.

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.