What's wrong with the code?
Posted: Sat Jan 22, 2005 7:18 am
Am trying to create an advance search engine for my database where users can can fill in a form and submit it to search for a song. The problem is that I am using if...elseif and for some reason the code is working just for the last case. Here is my code:
Code: Select all
<?php
$page_title = 'Advanced Search Results';
include_once('header.html');
include_once('mysql_connect.php');
include_once('config.inc');
$var=$_GETї'title'];
$trimmed=trim($var);
$var1=$_GETї'artist'];
$trimmed1=trim($var1);
$var2=$_GETї'type'];
$var3=$_GETї'rating'];
if (!isset($_SESSIONї'first_name'])) {
header ("Location: http://" . $_SERVERї'HTTP_HOST'] . dirname($_SERVERї'PHP_SELF']) . "/login.php");
ob_end_clean(); // Delete the buffer.
exit(); // Quit the script.
}
if ($var && $var1 && $var2 && var3) {
$query = "SELECT * FROM uploads,images,artists WHERE song_title like "%$trimmed%" AND artist_name like "%$trimmed1%"
AND type='$var2' AND rating='$var3' AND uploads.song_id = images.image_id AND uploads.artist_id=artists.artist_id ORDER BY upload_date DESC";
} elseif ($var2) {
$query = "SELECT * FROM uploads,images,artists WHERE type='$var2' AND uploads.song_id = images.image_id AND uploads.artist_id=artists.artist_id ORDER BY upload_date DESC";
} elseif ($var3) {
$query = "SELECT * FROM uploads,images,artists WHERE rating='$var3' AND uploads.song_id = images.image_id AND uploads.artist_id=artists.artist_id ORDER BY upload_date DESC";
} elseif ($var1) {
$query = "SELECT * FROM uploads,images,artists WHERE artist_name like "%$trimmed1%" AND uploads.song_id = images.image_id AND uploads.artist_id=artists.artist_id ORDER BY upload_date DESC";
} else {
$query = "SELECT * FROM uploads,images,artists WHERE song_title like "%$trimmed%" AND uploads.song_id = images.image_id AND uploads.artist_id=artists.artist_id ORDER BY upload_date DESC";
$result = mysql_query ($query);
$num_results = mysql_num_rows($result);
echo "<fieldset><h4><legend><font face="Palatino Linotype, Verdana, Arial"><strong>Advanced Search Results</strong></font></font></legend></h4>";
echo '<table border="0" width="100%" cellspacing="2" cellpadding="2" align="center">
<tr bgcolor="#0066FF" bordercolor="#000000">
<td align="center" width="20%"><font color="#FFFFFF" face="Palatino Linotype, Verdana, Arial"><b>Song Title</b></font></td>
<td align="center" width="20%"><font color="#FFFFFF" face="Palatino Linotype, Verdana, Arial"><b>Artist/Group</b></font></td>
<td align="center" width="20%"><font color="#FFFFFF" face="Palatino Linotype, Verdana, Arial"><b>Genre</b></font></td>
</tr>';
while ($row = mysql_fetch_array ($result, MYSQL_ASSOC)) {
// Display each record.
echo " <tr>
<td align="center" bgcolor="#FFFFCC">" . stripslashes($rowї'song_title']) . "</td>
<td align="center" bgcolor="#FFFFCC">" . stripslashes($rowї'artist_name']) . "</td>
<td align="center" bgcolor="#FFFFCC">" . stripslashes($rowї'type']) . "</td>
</tr>\n";
}
}
echo '</table></fieldset>'; // Close the table.
include_once('footer.html');
?>