Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Filtern Sie eine Suche mit dem Optionsfeld PHP SQL

Fügen Sie dem Formular einfach die Optionsfelder hinzu.

<form name="form1"  dir="rtl" method="post" action="searchresults.php">
<label for="search"> search </label>
<input name="search" type="text" size="40" maxlength="50" placeholder="you can search">
<input type="radio" name="search_type" value="job_name" checked="checked">Job<br>
<input type="radio" name="search_type" value="family">Family<br>
<input type="radio" name="search_type" value="name">Name
<input type="submit" name="submit" value="search"/> <br/>
</form>

Und verwenden Sie das Post-Feld und den Wert in Ihrer SQL-Abfrage. mysql wird abgeschrieben, also sollten Sie mysqli verwenden, und es ist wichtig, dass Sie Eingaben maskieren, um Injection-Angriffe zu verhindern.

$field = mysql_real_escape_string($_POST['search_type']);
$value = mysql_real_escape_string($_POST['search']);
$sql = "SELECT tablesite.name,
          tablesite.family,
          job_list.job_name,
   FROM  $db_table
   INNER JOIN relation
   on tablesite.id_user=relation.user_id
   INNER JOIN job_list
   on relation.job_id=job_list.job_id 
   WHERE 
   $field LIKE '%".$value."%'";
 $dbresult=mysql_query($sql,$con);

Sie können auch einen Suchwert validieren, bevor Sie die Abfrage ausführen, und auf ein Ergebnis prüfen, bevor Sie jede Zeile durchlaufen.