I've got a half functional search right now, using only a couple parameters.
<form id="form1" name="searchdb" method="post" action="search.php">Filter:
<select name="searchregion" id="searchregion" class="search">
<option value="/files/images/" selected="selected">All</option>
<option value="/files/images/U.png">NTSC-U</option>
<option value="/files/images/J.png">NTSC-J</option>
<option value="/files/images/E.png">PAL</option>
<option value="/files/images/O.png">OTHER</option>
</select>
<select name="searchstatus" id="searchstatus" class="search">
<option value="/files/images/comp.gif" selected="selected">Compatible</option>
<option value="/files/images/incomp.gif">Incompatible</option>
<option value="/files/images/issues.gif">Issues</option>
<option value="/files/images/completed.gif">Completed</option>
</select> Game Name:
<input type="text" name="search" id="search" class="search" />
<input type="submit" name="submit" id="submit" value="Go" class=""/>
</form>
<?php
//Connect & name table
require_once('connection.php');
$tbl_name="opl_comp"; // Table name
// Get values from search form
if(isset($_POST['search'])) {
$search = ($_POST['search']);
} else {
$search = "None";
}
if(isset($_POST['searchregion'])) {
$searchregion = ($_POST['searchregion']);
} else {
$searchregion = "None";
}
if(isset($_POST['searchstatus'])) {
$searchstatus = ($_POST['searchstatus']);
} else {
$searchstatus = "None";
}
//Escape
if(isset($_POST['search'])) {
$search = mysqli_real_escape_string($link, $_POST['search']);
} else {
$search = "None";
}
if(isset($_POST['searchregion'])) {
$searchregion = mysqli_real_escape_string($link, $_POST['searchregion']);
} else {
$searchregion = "None";
}
if(isset($_POST['searchstatus'])) {
$searchstatus = mysqli_real_escape_string($link, $_POST['searchstatus']);
} else {
$searchstatus = "None";
}
// get searched data from database
$sql="SELECT * FROM $tbl_name WHERE gamename LIKE '%".$search."%' AND region LIKE '%".$searchregion."%' AND comp LIKE '%".$searchstatus."%' ORDER BY gamename";
$result=mysqli_query($link,$sql) or die("Error: ".mysqli_error($sql));
?>
Currently the values are inserted into the same column, then I use those values as an img src to display region/compatibility status.
I'd like to use GET in order to incorporate the URL for searches.
How should I handle the image paths? I was thinking perhaps regex to validate the input and replace the complicated values with something simple.. Is this even viable? Or what other methods could/should be used for this.
Looking to accomplish, for example: website.com/search.php?region=usa&status=all&name=a+game+name