harkly Posted July 7, 2010 Share Posted July 7, 2010 The results of my searches are being displayed multiple times. I doing mutilple searches, the first is on zip codes based within a distance from another zip code. Then doing more searched based on other criteria. It is the secondary criteris that keeps looping and displaying multiple results of the same thing. I had all the searched working fine with no duplicating and the problem started when I combined the zip code search and the user search. Here is my full code... <?php require_once('zipcode.class.php'); include('library/login.php'); login(); mysql_select_db('test'); $gender=$_POST["gender"]; $genderPref=$_POST["genderPref"]; $ageMin=$_POST["ageMin"]; $ageMax=$_POST["ageMax"]; $smoke=$_POST["smoke"]; $religion=$_POST["religion"]; $zip_code=$_POST["zip_code"]; $today = date("Y"); $year1 = $today-$ageMin; $year2 = $today-$ageMax; //zip code search $z = new zipcode_class; $zips = $z->get_zips_in_range($_POST['zip_code'], $_POST['miles'], _ZIPS_SORT_BY_DISTANCE_ASC, true); if ($zips === false) { echo "That zip code is not valid, please try again.";} else { $zips_in_range = implode(',', array_keys($zips) ); $result = mysql_query("SELECT userID FROM user WHERE zip IN (". $zips_in_range .")"); while ($row = mysql_fetch_assoc($result) ) { foreach ($row as $userID) { extract($row, EXTR_PREFIX_SAME, "userID"); $query = mysql_query("Select * FROM photos WHERE userID = '$userID' "); while ($r=mysql_fetch_array($query)) { //user search $db_row_start = 0; if ($genderPref == "3"){ if(empty($smoke)) { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.genderPref, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref AND bkgd.relg = $religion"); } } else { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref AND about_me.smoking = $smoke"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref AND about_me.smoking = $smoke AND bkgd.relg = $religion"); } } } // end genderPref = 3 else { if(empty($smoke)) { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.genderPref, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref AND bkgd.relg = $religion"); } } else { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref AND about_me.smoking = $smoke"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref AND about_me.smoking = $smoke AND bkgd.relg = $religion"); } } } // displays all results if ($results = mysql_query($query1)) { $cells_wide = 4; echo " <table cellspacing='0' cellpadding='3' border='0' width='700'><tr> "; $c = 0; if (mysql_num_rows($results)) { while ($r=mysql_fetch_array($results)) { $userID=$r["userID"]; $bd_year=$r["bd_year"]; $gender=$r["gender"]; $genderPref=$r["genderPref"]; $photo_1=$r["photo_1"]; $city=$r["city"]; $state=$r["state"]; $zip=$r["zip"]; $age = $r['age']; if (0 < $c && 0 == $c % $cells_wide) { echo " </tr><tr> "; } extract($r); echo " <td width=175> "; echo "<div id='profiles'><a href='profile.php'> <div id='name'>$userID</div> "; if (empty($photo_1)) { echo " <div id='image'><img src='uploads/noPhoto.gif' width='100' height='100' border='0'></div></a> "; } else { echo " <div id='image'><img src='uploads/$photo_1' width='100' height='100' border='0'></div></a> "; } echo " <div id='status'>$age - $city, $state</div></div></td> "; $c++; } /* * May require a way to insert cleanup <td>s if the total number of cells * is not evenly divisible by the number of cells per row. This is not an * issue if you use floating <div>s for your layout. */ echo " </tr></table> "; } // What to do if myqsl_query() returns FALSE instead of a resource else { echo " <table border='0' width='700'><tr><td><div id='errorMsg'>Sorry, we didn't find any results based on your search criteria, please try again with more options. </div> </td></tr></table> "; } }}}} echo "No result found in the $zip_code area."; } ?> Link to comment https://forums.phpfreaks.com/topic/207023-search-results-are-being-duplicated-cant-figure-out-why/ Share on other sites More sharing options...
harkly Posted July 7, 2010 Author Share Posted July 7, 2010 It is also pulling more results than what is requested. If you search for $gender=1 & $genderPref=2 it is pulling that info but also pulling $gender=2 & $genderPref=1 and doing the same if you switch the numbers around. The search for $gender=1 & $genderPref=1 works fine. All this workes fine on its own but not when they are combined. I'm adding the separte codes. zip search <?php require_once('zipcode.class.php'); include('library/login.php'); login(); mysql_select_db('harkly'); $gender=$_POST["gender"]; $genderPref=$_POST["genderPref"]; $ageMin=$_POST["ageMin"]; $ageMax=$_POST["ageMax"]; $smoke=$_POST["smoke"]; $religion=$_POST["religion"]; $zip_code=$_POST["zip_code"]; $today = date("Y"); $year1 = $today-$ageMin; $year2 = $today-$ageMax; $z = new zipcode_class; $zips = $z->get_zips_in_range($_POST['zip_code'], $_POST['miles'], _ZIPS_SORT_BY_DISTANCE_ASC, true); if ($zips === false) { echo "That zip code is not valid, please try again.";} else { $zips_in_range = implode(',', array_keys($zips) ); $result = mysql_query("SELECT userID FROM user WHERE zip IN (". $zips_in_range .")"); while ($row = mysql_fetch_assoc($result) ) { foreach ($row as $userID) { extract($row, EXTR_PREFIX_SAME, "userID"); $query = mysql_query("Select * FROM photos WHERE userID = '$userID' "); while ($r=mysql_fetch_array($query)) { echo " Zips found"; } } } ?> user search <?php include('library/login.php'); login(); mysql_select_db('harkly'); $gender=$_GET["gender"]; $genderPref=$_GET["genderPref"]; $ageMin=$_GET["ageMin"]; $ageMax=$_GET["ageMax"]; $smoke=$_GET["smoke"]; $religion=$_GET["religion"]; $today = date("Y"); $year1 = $today-$ageMin; $year2 = $today-$ageMax; // Sets the database record to start at $db_row_start = 0; if ($genderPref == "3"){ if(empty($smoke)) { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.genderPref, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref AND bkgd.relg = $religion"); } } else { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref AND about_me.smoking = $smoke"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $genderPref AND about_me.smoking = $smoke AND bkgd.relg = $religion"); } } } else { if(empty($smoke)) { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.genderPref, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref AND bkgd.relg = $religion"); } } else { if(empty($religion)) { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref AND about_me.smoking = $smoke"); } else { $query1 = ("SELECT user.userID, user.gender, user.bd_year, user.city, user.state, user.zip, photos.userID, photos.photo_1, about_me.smoking, bkgd.relg, CURDATE(), (YEAR(CURDATE())-YEAR(birth_date)) - (RIGHT(CURDATE(),5)<RIGHT(birth_date,5)) AS age FROM user LEFT JOIN photos ON user.userID = photos.userID LEFT JOIN about_me ON user.userID = about_me.userID LEFT JOIN bkgd ON user.userID = bkgd.userID WHERE user.bd_year <= $year1 AND user.bd_year >= $year2 AND genderPref = $gender AND gender = $genderPref AND about_me.smoking = $smoke AND bkgd.relg = $religion"); } }} if ($results = mysql_query($query1)) { $cells_wide = 4; echo " <table cellspacing='0' cellpadding='3' border='0' width='700'><tr> "; $c = 0; if (mysql_num_rows($results)) { while ($r=mysql_fetch_array($results)) { $userID=$r["userID"]; $bd_year=$r["bd_year"]; $gender=$r["gender"]; $genderPref=$r["genderPref"]; $photo_1=$r["photo_1"]; $city=$r["city"]; $state=$r["state"]; $zip=$r["zip"]; $age = $r['age']; if (0 < $c && 0 == $c % $cells_wide) { echo " </tr><tr> "; } extract($r); echo " <td width=175> "; echo " <div id='profiles'> <a href='profile.php'> <div id='name'>$userID</div> "; if (empty($photo_1)) { echo " <div id='image'><img src='uploads/noPhoto.gif' width='100' height='100' border='0'></div></a> "; } else { echo " <div id='image'><img src='uploads/$photo_1' width='100' height='100' border='0'></div></a> "; } echo " <div id='status'>$age - $city, $state</div> </div> </td> "; $c++; } /* * May require a way to insert cleanup <td>s if the total number of cells * is not evenly divisible by the number of cells per row. This is not an * issue if you use floating <div>s for your layout. */ // Closes the last HTML table row (or the first if there are no records) echo " </tr>"; // Closes the HTML table echo " </table> "; // What to do if myqsl_query() returns FALSE instead of a resource } else { echo " <table border='0' width='700'><tr><td><div id='errorMsg'>Sorry, we didn't find any results based on your search criteria, please try again with more options. </div> </td></tr></table> "; } } ?> Link to comment https://forums.phpfreaks.com/topic/207023-search-results-are-being-duplicated-cant-figure-out-why/#findComment-1082586 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.