sql >> Databáze >  >> RDS >> Mysql

filtrovat vyhledávání pomocí přepínače PHP SQL

Stačí do formuláře přidat přepínače.

<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>

A ve svém dotazu SQL použijte pole příspěvku a hodnotu. mysql je odepsáno, takže byste měli používat mysqli a je nezbytné, abyste unikli vstupům, abyste zabránili injekčním útokům.

$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);

Před spuštěním dotazu můžete také chtít ověřit hodnotu hledání a před procházením každého řádku zkontrolovat výsledek.




  1. mysql automaticky přetypuje řetězce na celé číslo

  2. Pořadí vrácení řádku SQL

  3. PHP mysql_connect nastavil wait_timeout

  4. Jak používat více databází ve webové aplikaci PHP?